WordPress多站点内的.htaccess重定向

时间:2013-04-30 16:30:04

标签: wordpress .htaccess

使用标准的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 =禁用http://www.mysite.com/register

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

更新

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

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

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

1 个答案:

答案 0 :(得分:1)

您只需从RewriteRule

中删除该域名即可
RewriteCond %{QUERY_STRING} ^registration=disabled$ [NC]
RewriteRule ^wp-login.php$ /register [L,R=301,NC]

经过测试here它似乎有效,虽然它没有修剪查询字符串(但是原来也没有)。如果您希望删除查询字符串,请执行以下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]

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