-1

我正在努力完成以下工作。

如果从任何文件夹和任何子级别深处调用图像并且它不存在,则将其重定向到不同的文件夹。(部门/杂项/{文件名})。

如果在任何文件夹和任何子级别深处调用了任何其他文件,并且它存在,则对其进行处理。如果不存在,将其重定向到 index.php。

下面是我所拥有的,并且 index.php 处理得很好,但是找不到的图像返回 404。

#RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ^\.(png|jpe?g|gif)$ [NC]
RewriteRule ^(.*\.(png|jpe?g|gif))$ depts/misc/$1 [L,NC]
4

1 回答 1

1

您的规则顺序错误。您需要先处理不存在的图像,然后再处理不存在的其他任何内容:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*\.(png|jpe?g|gif))$ depts/misc/$1 [L,NC]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L,QSA]
于 2013-10-01T03:23:17.210 回答