[英]Wordpress multisite Force HTTPS and WWW for domain and only HTTPS for subdomains HTACESS
我目前有一個wordpress多站點設置,包括兩個站點,一個是子域。 我們可以調用主域名www.domain.com和子域名test.domain.com
我遇到的主要問題是,當我輸入https://test.domain.com時,這將正常工作,但當我輸入http://test.domain.com時,我被重定向到https://www.domain.com這是主要的網站,而不是子域名網站。
<IfModule mod_rewrite.c>
RewriteEngine On
# for subdomains
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^(test\.domain\.co)$ [NC]
RewriteRule ^.*$ https://%1%{REQUEST_URI} [R,L]
# for main domains
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} ^domain\.co$ [NC]
RewriteRule ^.*$ https://www.domain.co%{REQUEST_URI} [R,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>
對於子域,您可以使用此規則:
# for subdomains
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^(test\.example\.com)$ [NC]
RewriteRule ^.*$ https://%1%{REQUEST_URI} [R,L]
好的,我找到了我總是重定向到https版本的原因。 我最初設置apache服務器以使用虛擬主機。 在所有http請求的文件中,或者更確切地說是端口80,例如<VirtualHost *:80>
我愚蠢地創建了Redirect permanent / https://maindomain.co/
的重定向規則Redirect permanent / https://maindomain.co/
我通過刪除重定向並讓我的.htaccess文件管理重定向來解決了這個問題。 它現在很漂亮。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.