如果url包含使用htaccess的特定字符串,则重定向

时间:2014-02-03 07:03:58

标签: php .htaccess redirect

如果网址包含83answers.com字符串,我想重定向到不同的域forum

如果我的网址是test.guru99.com/forum/xyxyxzz,那么它应该重定向到83answers.com。字符串论坛可以在网址的任何位置。

我试过以下

RewriteCond %{QUERY_STRING} forum
RewriteRule .* 83answers.com [R,L]

还有这个

RewriteCond %{REQUEST_URI} forum
RewriteRule .* 83answers.com

但两者都没有用,请帮我解决这个问题。

此致

3 个答案:

答案 0 :(得分:8)

对于基本网址,您不需要RewriteCond,只需RewriteRule

RewriteRule forum http://83answers.com [R,L]

对于查询字符串,你几乎就在那里:

RewriteCond %{QUERY_STRING} forum
RewriteRule .? http://83answers.com [R,L]

合并规则:

RewriteRule forum http://83answers.com [R,L]

RewriteCond %{QUERY_STRING} forum
RewriteRule .? http://83answers.com [R,L]

请注意,您必须包含http://。如果您只使用83answers.com,服务器会尝试重定向到您服务器上的URL。例如,它会将http://test.guru99.com/forum/xyxyxzz重定向到http://test.guru99.com/83answers.com,这是不行的。

答案 1 :(得分:2)

你可以在两个RewriteCond之间添加一个OR子句,如下所示:

RewriteCond %{QUERY_STRING} forum [OR]
RewriteCond %{REQUEST_URI} forum
RewriteRule ^ http://83answers.com/? [L,R=301]

答案 2 :(得分:2)

我编写代码的真实答案是

RewriteRule ^(.*)string(.*)$ http://your.website.com [R=301,L]

代替字符串,你可以说出你的话