我是WordPress的新手,想要重定向一些特定的流量。这是一个例子 -
来自其他网站的用户点击了包含网址http://mywordpresssite.com/redirect?url=http://amazon.in/blablabla
我希望我的网站将请求重定向到
http://amazon.in/blablabla
或查询字符串中的任何内容,无需加载我网站的任何页面。
我尝试了htaccess并想出了这个 -
RewriteCond %{QUERY_STRING} (?:^|&)url=([^&]+)(?:&|$) [NC]
RewriteRule ^(.*)$ %1 [R=302,L]
但是RewriteRule会导致http://mywordpresssite.com/http://amazon.in/blablabla?url=http://amazon.in/blablabla
错误。
我是htaccess的新手,非常感谢任何帮助。
答案 0 :(得分:1)
在您网站的根目录中的.htaccess中尝试以下操作。请注意,这应该在您现有的WordPress mod_rewrite规则之前,但在RewriteEngine On
之后。
RewriteCond %{QUERY_STRING} ^url=(.*)$
RewriteRule ^redirect$ %1 [R=302,QSD,L]
%1
引用RewriteCond
指令中的第一个带括号的子模式(即“url =”之后的所有内容)。
QSD
标志(Apache 2.4+)从原始请求中删除查询字符串。
在Apache 2.4之前,您需要更改RewriteRule
以进行阅读(请注意替换结尾处的其他?
):
RewriteRule ^redirect$ %1? [R=302,L]