无论请求的文件是否存在,都要重写请求

时间:2009-06-08 14:15:13

标签: .htaccess mod-rewrite

我正在尝试以以下格式转换所有请求:

/portfolio/picturename.htm

('投资组合'不变)

到此:

/?picturename

所以(感谢这里的用户)我有这个解决方案适用于存在的文件:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^portfolio/(.+)\.htm$ /?$1 [R,NC,L]

但是:我怎么也适用于存在的文件?我想在所有情况下都能重定向。

2 个答案:

答案 0 :(得分:2)

这适用于所有文件,无论它们是否存在。 RewriteRule不检查文件是否存在,RewriteCond确实存在。您是在发布.htaccess文件的完整内容,还是仅发布您认为重要的部分?

答案 1 :(得分:2)

RewriteRule没有任何内容可以使它只适用于不存在的文件。在此之前它需要这个条件:

RewriteCond %{REQUEST_FILENAME} !-f