我有一个WordPress网站,我想强制所有的网页都转到https和非www。
所以我想要以下的重定向。
http:/example.com --> https:/example.com www.example.com --> https:/example.com http:/example.comabcd --> https:/example.comabcd www.example.comabcd --> https:/example.comabcd
在我的.htaccess文件中,我有以下代码
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
问题是它只正确地重定向了主页,对于内页,我得到一个Page not FoundSite cannot be reached的错误。
试试这个。
RewriteCond %{HTTP_HOST} ^(www\.)(.+) [OR]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?(.+)
RewriteRule ^ https://%2%{REQUEST_URI} [R=301,L]