基本上,我仍然需要根域在所有子目录中工作, t使用apache VirtualHosts重定向,因为它会使多站点管理域无效,但我不希望用户在没有www的情况下看到域。.htaccess重定向:wordpress多网站根域http://example.com重定向到http://www.example.com只有在根
这是如何实现的?
重定向插件将不允许我从根域重定向,因为它们在网站(w/www。)而不是管理根目录上运行。
我不希望它重定向所有“www。” - 更少的网址,只有根。
基本上,我仍然需要根域在所有子目录中工作, t使用apache VirtualHosts重定向,因为它会使多站点管理域无效,但我不希望用户在没有www的情况下看到域。.htaccess重定向:wordpress多网站根域http://example.com重定向到http://www.example.com只有在根
这是如何实现的?
重定向插件将不允许我从根域重定向,因为它们在网站(w/www。)而不是管理根目录上运行。
我不希望它重定向所有“www。” - 更少的网址,只有根。
如果您使用的是Apache 2.4或更新版本,你可以使用,如果你的.htaccess文件中的情况下,测试以下:
<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重定向的多站点子域安装,其工作非常好!
我清盘使用下列内容:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite\.com$
RewriteCond %{REQUEST_URI} ^/$
Rewriterule ^(.*)$ http://mysecondsite.com/ [L,R=301]
,因为它保留了根域的子目录,让您管理多站点管理仪表板。
这几乎等同于巴拿马杰克的答案 - 老实说,我不知道该REQUEST_URI做什么...
其实我的答案是完全一样的,除非你不需要REQUEST_URI条件因为在这种情况下它是以重写模式处理的。所以我的答案就是你所需要的。当有人帮助你而不是自己做的时候习惯接受答案:) –