1

由于某种原因,这不起作用...

Options +FollowSymLinks -MultiViews -Indexes
RewriteEngine On
RewriteBase /

Redirect 301 "/modules.php?name=News&file=article&sid=179" http://www.mysite.com/a/new/url

我不知道为什么......如果我用另一个不存在的 URL(/helloworld)替换被重定向的 URL,它会很好地重定向到新的 url..

是不是在抓什么东西?我尝试转义 (/modules.php\?name=News&file=article&sid=179) 但没有任何区别,仍然只有 404s。

任何帮助表示赞赏!

4

1 回答 1

0

您无法匹配Redirect指令中的查询字符串,您必须使用 mod_rewrite 和%{QUERY_STRING}变量。试试这个:

RewriteCond %{QUERY_STRING} name=News&file=article&sid=179
RewriteRule ^/?modules\.php$ http://www.mysite.com/a/new/url? [R=301,L]
# There is a ? here to prevent query strings appending -----^
于 2012-08-01T05:17:10.643 回答