强制www。适用于所有URL&删除尾部斜杠

时间:2014-01-10 20:22:24

标签: apache .htaccess mod-rewrite

您好我的.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]

1 个答案:

答案 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]