编辑

编辑

我有一个脚本,用于上传图片、为其创建哈希值、创建 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]

相关内容