0

使用标准的 WordPress 设置,我在 htaccess 中有以下内容...

RewriteCond %{QUERY_STRING} ^registration=disabled$ [NC]
RewriteRule ^wp-login.php$ http://www.mysite.com/register [L,R=301,NC]

哪个成功地将任何对 wp-login.php?registreation=disabled 的调用重定向到http://www.mysite.com/register

我现在已经转移到多站点,因此需要重定向将用户发送到他们正在浏览的网络中的任何站点,我该怎么做?

更新

澄清一下,由于我现在使用多站点,我现在可能会面临不同的子域和地址,例如

www.mydomain1.com/testsite www.mydomain2.com/example www.mydomain3.com/various

我正在寻找一种适合所有 htaccess 命令来重定向

4

1 回答 1

1

你可以从你的域名中删除RewriteRule

RewriteCond %{QUERY_STRING} ^registration=disabled$ [NC]
RewriteRule ^wp-login.php$ /register [L,R=301,NC]

在这里进行了测试,它似乎可以工作,尽管它没有修剪查询字符串(但是原始的也没有)。如果要删除查询字符串,请RewriteRule执行以下操作:

RewriteRule ^wp-login.php$ /register? [L,R=301,NC]

编辑:我目前无法在真实系统上对此进行测试,不幸的是我提供的链接不支持${HTTP_HOST},但是您可以添加另一个匹配任何http_host 的条件,并在 RewriteRule 中使用反向引用来输入该值:

RewriteCond %{QUERY_STRING} ^registration=disabled$ [NC]
RewriteCond %{HTTP_HOST} (.*)
RewriteRule ^wp-login.php$ http://%1/register? [L,R=301,NC]

如前所述,我目前无法对此进行测试,但理论上它应该可以工作:)

于 2013-04-30T16:37:30.727 回答