0

apache mod rewrite 对我来说很奇怪:我试图将这个重定向 http://www.website.com/page.php?id=34 到这个: http://www.website.com/

在 htaccess 中使用它:

RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^page\.php$ "http://www.website.com" [R=301,L]

它工作正常,但它还将查询字符串添加到重定向的 url:

http://www.website.com/?id=34

如何从重定向的 url 中删除查询字符串?

4

2 回答 2

3

默认情况下,mod_rewrite 不会更改查询字符串,它会保持它们不变并将它们传递给任何新的 URI。要删除它们,您需要以问号结束新 URL。您也不需要引号。这应该有效:

RewriteRule ^page\.php$ http://www.website.com? [R=301,L]
于 2012-05-08T19:33:33.253 回答
1

我不确定它是否会起作用,但请尝试:

RewriteRule ^page\.php "http://www.website.com" [R=301,L]
于 2012-05-08T17:10:21.117 回答