我有
的代码1 - 从域中删除www
2 - 从网址末尾删除index.php
3-force user to ssl
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www$
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301]
RewriteCond %{REQUEST_FILENAME}.php -f
ErrorDocument 404 https://example.com/404.php
每件事都没问题
但是当我在浏览器中转到www.example.com
时,它会将我重定向到
https://example.com/404.php
我的代码有什么问题!?
答案 0 :(得分:1)
像这样使用.htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=302,L,NE]
RewriteRule ^index\.php(.*)$ /$1 [R,L,QSA]
ErrorDocument 404 404.php
首先删除www
,如果存在,
然后重定向到https
,
最后删除index.php
(如果存在)
别忘了
如果用户尝试http://www.example.com/index.php
访问您的网站,它将重定向3次:|