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]
因此,如果请求不是 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]