我需要使用.htaccess
强制使用https和www,并且我正在寻找一个非特定于域的解决方案,但它将适用于任何域和任何文件夹(使用服务器变量)。< / p>
设置:
domain.com
已安装WordPress domain.com/folder2
是一个物理文件夹,包含一个单独的网站 domain.com
中的.htaccess文件目前包含:
# force www+https
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
这似乎适用于domain.com
,但不适用于domain.com/folder2
:虽然https在那里强制执行,但www重定向不起作用。
我尝试在domain.com/folder2
中放置第二个.htaccess文件;那也没有做任何事情。
问题:
domain.com/folder2
?谢谢!
答案 0 :(得分:1)
在/ folder2的.htaccess中,添加以下内容:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www [OR]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)$
RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,L,R]
如果要将其放在根目录中,请删除/folder2/.htaccess。