.htaccess重定向:wordpress多站点根域http://example.com重定向到http://www.example.com ONLY ON ROOT

时间:2016-09-19 13:14:51

标签: wordpress .htaccess redirect

基本上,我仍然需要根域在所有子目录中工作,并且不能使用apache VirtualHosts重定向,因为它会使多站点管理域无效,但我不希望用户看到没有www的域。

如何实现这一目标?

重定向插件不允许我从根域重定向,因为它们在站点(w / www。)而不是管理员root上运行。

我不希望它重定向所有“www。” - 更少的网址,只有根。

2 个答案:

答案 0 :(得分:0)

如果您使用的是Apache 2.4或更新版本,您可以在.htaccess文件中使用IF案例,请测试以下内容:

<If "%{HTTP_HOST} == 'yourdomain.com'">
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteCond %{HTTP_HOST} !^www\. [NC]
        RewriteCond %{SERVER_ADDR} !=127.0.0.1
        RewriteCond %{SERVER_ADDR} !=::1
        RewriteRule ^ %{ENV:PROTO}://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </IfModule>
</If>

如果您没有安装Apache 2.4,这应该会产生500服务器错误,只需删除它,您的网站应该再次运行。我不知道如何为旧的Apache版本解决它。我正在使用此解决方案进行301重定向的多站点子域安装,它的工作非常好!

答案 1 :(得分:0)

我使用以下内容结束:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite\.com$
RewriteCond %{REQUEST_URI} ^/$
Rewriterule ^(.*)$ http://mysecondsite.com/ [L,R=301]

因为它保留了根域的子目录,允许您管理多站点管理仪表板。

它几乎与巴拿马杰克的答案相同 - 说实话,我不确定REQUEST_URI的作用......

来源:How to redirect root and only root via htaccess?

相关问题