我有一些子域s1.mywebsite.com
和s2.mywebsite.com
。我尝试设置网址重写规则,以便将针对mywebsite.com的任何请求转换为https,而对子网域的请求则不会更改。
现在,在我的主域的根目录中,我有一个htaccess文件,其中包含以下内容:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteRule .* https://mywebsite.com/%{REQUEST_URI} [R,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
有一些内容用于wordpress。就目前而言,我的服务器将请求http://s1.mywebsite.com/page/
重写为https://mywebsite.com/page/
,完全删除子域。如何让我的规则忽略子域查询?
答案 0 :(得分:3)
添加条件以仅限制主域的第一个https->http
规则:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^(?:www\.)?mywebsite\.com$ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]