我在 htaccess 中有以下代码
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /films/
RewriteCond %{REQUEST_METHOD} =POST
RewriteRule ^ - [L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/films/$1 [R=301,L]
我希望它自动将 url 重定向到 https 但它不是重定向。我尝试改变
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/films/$1 [R=301,L]
至
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/films/$1 [R=301,L]
最佳答案
要强制HTTPs
,您可以使用:
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
因此,所有内容都留给您 https://
。包含 {REQUEST_URI}
比指定目录更好。因为它也适用于所有目录。
正如我最近了解到的,最好将强制的 www
和 https
结合起来,尝试使用这个:
RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%{SERVER_NAME}%{REQUEST_URI} [R=301,L,NE]
关于php - htaccess 未重定向到 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38262158/