我有一个脚本,用于上传图片、为其创建哈希值、创建 3 个目录,并将图片存储到
imgs/f3s/v5g/234/536_f3sv5g2344270fd093ee8a9bf8de3de32dad.jpg
(“536_” 是用户 ID)
所以我想转身
imgs/f3s/v5g/234/536_f3sv5g2344270fd093ee8a9bf8de3de32dad.jpg
进入
user_pics/536/536_f3sv5g2344270fd093ee8a9bf8de3de32dad.jpg
我该怎么做?我希望如果有人想查看照片,他们会看到 URL 中的新目录,而不是带有 3 个子目录的目录。
编辑
所以 jon 的方法有效,但是我需要添加RewriteRule .* index.php/$1 [PT,L]
到我的 htaccess 中。当我添加它时,一切都停止工作,为什么?
这是我目前所拥有的
RewriteEngine 在
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$1 [PT,L]
RewriteRule ^user_pics/([^/]+)/[^]+(.{3})(.{3})(.{3})(.*)。(jpe?g|gif|png)$ /imgs/$2/$3/$4/$1_$2$3$4$5.$6 [L]
答案1
尝试:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^user_pics/([^/]+)/[^_]+_(.{3})(.{3})(.{3})(.*)\.(jpe?g|gif|png)$ /imgs/$2/$3/$4/$1_$2$3$4$5.$6 [L]