我知道这方面有一些主题,但我尝试过的所有配置通常都会让我的网站无法访问。我的问题是我们最近获得了SSL证书,但仅限于该站点的非“www”版本,但如果用户使用“www”编写URL,则会得到不安全的站点消息。这是当前的htaccess文件:
# 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
例如,此配置也不会执行任何操作:
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# END WordPress
答案 0 :(得分:0)
如果你正在使用apache(我认为),tou可以尝试:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://yourdomain.com/$1 [R=301,L]
当然一定要没有“www”。在您的网站设置中,因为这可能会破坏整个网站。
您还可以将www重定向到.htaccess中的非www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC]
RewriteRule ^(.*)$ https://yourdomain.com/$1 [L,R=301]
此外,这有助于避免混合内容警告。总是把它放在.htaccess
中Header always set Content-Security-Policy: upgrade-insecure-requests
干杯