您好我的.htaccess网址重写规则存在问题。我想删除尾部斜杠并强制使用www。在所有网址上。这是我的.htaccess ...发生的事情是尾随删除仅适用于www。 URL和非主页网址没有获得强制www。
RewriteEngine On
RewriteBase /
# force www
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} (.*)$
RewriteRule ^(.+)/$ http://www.mydomain.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^(www\.)?mydomain\.com$ [NC]
RewriteRule ^(.*) http://www.mydomain.com/$1 [R=301,L]
答案 0 :(得分:0)
尝试以下单一规则:
RewriteEngine On
RewriteBase /
# force www and remove trailing slash
RewriteCond %{REQUEST_URI} /$ [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^(.*?)/?$ http%1://www.mydomain.com/$1 [R=301,L]