我正在为新网站处理我的htaccess文件。我尝试搜索论坛,但没有人可以复制我的工作解决方案。这是我需要的设置的描述:
这是我当前的htaccess代码:
RewriteEngine On
AddDefaultCharset UTF-8
# Force trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
# www and ssl
RewriteCond %{HTTP_HOST} (?!^www\.)^(.+)$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L]
# Send all traffic to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule .* /index.php [L]
这在许多情况下都有效,但在某些情况下却不起作用:
我希望有人能在这里发现问题。谢谢:-)
您已在每个规则组的最后一行后缀[R=301,L]
R=301
表示如果满足条件,则使用301状态码。L
表示如果满足条件,请在此处停止。因此,您不仅有一个停止请求,而且在满足条件后有两个停止请求。
如果同时删除这两个脚本,则脚本RewriteEngine将继续。