使用wordpress和querystring重定向到另一个网站

时间:2015-03-23 07:11:09

标签: wordpress .htaccess redirect wordpress-plugin

我是WordPress的新手,想要重定向一些特定的流量。这是一个例子 -

  1. 来自其他网站的用户点击了包含网址http://mywordpresssite.com/redirect?url=http://amazon.in/blablabla

  2. 的链接
  3. 我希望我的网站将请求重定向到    http://amazon.in/blablabla或查询字符串中的任何内容,无需加载我网站的任何页面。

  4. 我的网站应该能够正常运行所有其他请求。
  5. 我尝试了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的新手,非常感谢任何帮助。

1 个答案:

答案 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]