为什么以下htacces指令不能按预期工作?

时间:2013-07-23 14:20:56

标签: .htaccess redirect mod-rewrite

我有以下重定向:

RewriteCond %{REQUEST_URI}  ^/index\.php$
RewriteCond %{QUERY_STRING} ^id=409$
RewriteRule ^(.*)$ http://www.domain.eu/index.php\?id=4 [R=301,L]


RewriteCond %{REQUEST_URI} foo_Bar\.pdf$ [NC]
RewriteRule ^(.*)$ http://www.domain.eu/index.php\?id=4 [R=301,L]

第一个工作正常。 但是第二个不是指导,当我打开这个网址时:domain.eu/fileadmin/images/foo_Bar.pdf(显示404,这就是为什么我要重定向)。

我还尝试在文件名之前添加^(.*),但它也不起作用。我甚至试图输入完整的URL作为请求uri,没有运气。我错过了什么?

由于

1 个答案:

答案 0 :(得分:1)

它会将www.yourdomain.com/index.php?id=409重定向到http://www.domain.eu/index.php?id=4

如果您的网站地址以.foo_Bar.pdf重定向到http://www.domain.eu/index.php?id=4

结束,则第二个会重定向

您需要将第二个更改为:

RewriteCond %{REQUEST_URI} foo_Bar\.pdf$ [NC]
RewriteRule ^(.*)$ http://www.domain.eu/index.php\?id=4 [R=301,L]