为非www设置.htaccess,在多域上设置ssl

时间:2014-09-14 13:32:17

标签: php wordpress apache .htaccess mod-rewrite

我一直在寻找网络,但无法找到一个干净的解决方案。 我不是.htaccess规则中的英雄,但我希望有一些规则可以强制用户对该服务器/安装上的所有域进行https和非www。

Atm我得到了这个,但我卡住了;

# 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]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
</IfModule>

1 个答案:

答案 0 :(得分:1)

试试这段代码:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [NE,R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

另外,请确保WP永久链接在网站和主页网址中包含httpsnon-www网址。