基本上,我仍然需要根域在所有子目錄中工作, 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條件因爲在這種情況下它是以重寫模式處理的。所以我的答案就是你所需要的。當有人幫助你而不是自己做的時候習慣接受答案:) –