我在这里查看了几个主题,但如果存在www,似乎没有规则功能。我也尝试删除www,然后强制HTTPS。可能是一些我不理解htaccess的小错字很好找到。如果证书/网络服务器出现问题,我已联系托管服务。
我想要的是,当访问者在地址栏中写入www.domain.com时,也强制使用HTTPS。
RewriteEngine on
#Enable HSTS
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
#Go to non-www if www
#RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#Go to HTTPS it not already on
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#check that filename is not a directory
RewriteCond %{REQUEST_FILENAME} !-d
#check that its a regular file
RewriteCond %{REQUEST_FILENAME}\.php -f
#remove what comes after the dot from url
RewriteRule ^(.*)$ $1.php
#check that filename is not a directory
RewriteCond %{REQUEST_FILENAME} !-d
#check that its a regular file
RewriteCond %{REQUEST_FILENAME}\.html -f
#remove what comes after the dot from url
RewriteRule ^(.*)$ $1.html
答案 0 :(得分:0)
问题是root用户和public_html都有.htaccess文件。我正在使用root中的那个,不知道public_html中有.htaccess。
现在删除root中的那个,这一切都完美无缺!感谢所有回复。