htaccess 规则未按预期重定向到 https

htaccess rule not redirecting to https as expected

因此,如果请求不是 https 或请求使用 www 前缀重定向到 https 而没有 www,这似乎应该相当简单。使用以下重写规则似乎应该完成以下两项,但由于某种原因没有。有什么建议吗?

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.domain\.org [NC,OR]
RewriteCond %{HTTPS} !^on$
RewriteRule ^(.*) https://domain.org/ [R=301,L]

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


</IfModule>

# END WordPress

确保重写引擎已打开,并且您已在 apache 配置中将 AllowOverride 设置为 All。以这种方式尝试一下,看看它是否有效。我在我的网站上使用了这个确切的代码,它运行良好。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domain\.org [NC,OR]
RewriteCond %{HTTPS} !^on$
RewriteRule ^(.*) https://domain.org/ [R=301,L]