301 重定向 GET 参数
301 Redirect GET parameter
我正在尝试像这样重定向 url:
http://originalwebsite.com/event/detail.html?id=13
到
我在 .htaccess
文件中尝试了以下内容:
redirect 301 /event/detail.html?id=13 /events
但它不起作用...
我也试过这个:
RewriteCond %{QUERY_STRING} /event/detail.html?id=13
RewriteRule (.*) /events [R=301,L]
任何人都可以告诉我我做错了什么吗?这是一个非常糟糕的标准重定向...
不需要传递GET
参数,我只想将旧页指向新页。
非常感谢
经过进一步调查,我发现您无法在 Redirect
中传递变量,因此我将代码更改为以下内容:
RewriteCond %{QUERY_STRING} id=13$
RewriteRule (.*) /events? [L,R=301]
这是可行的,但我遇到的问题是此重定向适用于任何附加了 id=13
的 URL。我需要更具体一些,因为我想将 /event/detail.html?id=13 重定向到 /events
(.*) 是一个包罗万象的模式,所以如果你的规则只适用于特定的 uri,你可以在 RewriteRule
RewriteCond %{QUERY_STRING} id=13$
RewriteRule ^event/detail\.html$ /events? [L,R=301]
我正在尝试像这样重定向 url:
http://originalwebsite.com/event/detail.html?id=13
到
我在 .htaccess
文件中尝试了以下内容:
redirect 301 /event/detail.html?id=13 /events
但它不起作用...
我也试过这个:
RewriteCond %{QUERY_STRING} /event/detail.html?id=13
RewriteRule (.*) /events [R=301,L]
任何人都可以告诉我我做错了什么吗?这是一个非常糟糕的标准重定向...
不需要传递GET
参数,我只想将旧页指向新页。
非常感谢
经过进一步调查,我发现您无法在 Redirect
中传递变量,因此我将代码更改为以下内容:
RewriteCond %{QUERY_STRING} id=13$
RewriteRule (.*) /events? [L,R=301]
这是可行的,但我遇到的问题是此重定向适用于任何附加了 id=13
的 URL。我需要更具体一些,因为我想将 /event/detail.html?id=13 重定向到 /events
(.*) 是一个包罗万象的模式,所以如果你的规则只适用于特定的 uri,你可以在 RewriteRule
RewriteCond %{QUERY_STRING} id=13$
RewriteRule ^event/detail\.html$ /events? [L,R=301]