我目前有一个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>
答案 0 :(得分:0)
对于子域,您可以使用此规则:
# for subdomains
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^(test\.example\.com)$ [NC]
RewriteRule ^.*$ https://%1%{REQUEST_URI} [R,L]
答案 1 :(得分:0)
好的,所以我找到了我总是重定向到https版本的原因。我最初设置apache服务器以使用虚拟主机。在该文件中用于所有http请求或者更确切地说是端口80 <VirtualHost *:80>
我愚蠢地创建了Redirect permanent / https://maindomain.co/
我通过删除重定向并让我的.htaccess文件管理重定向来解决此问题。它现在很漂亮。