删除尾随斜杠和非www到www-使用.htaccess
在同时合并2个mod_rewrite时,我面临.htace的问题:删除尾随斜杠和非www到www-使用.htaccess,.htaccess,mod-rewrite,trailing-slash,.htaccess,Mod Rewrite,Trailing Slash,在同时合并2个mod_rewrite时,我面临.htace的问题: 删除尾部斜杠 将非www重定向到www 这是我的.htaccess文件 Options +FollowSymLinks RewriteEngine On RewriteBase / # Redirect non-www to www RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] RewriteRule ^(.+)/$ http://www.domain.com/$1 [
- 删除尾部斜杠
- 将非www重定向到www
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
# Redirect non-www to www
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.+)/$ http://www.domain.com/$1 [R=301,L]
# Remove trailing slash
RewriteCond %{HTTP_HOST} ^domain.com
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
当我只使用其中一个时,它们工作得非常好,但是当我把它们放在一起时,页面就一直在加载
请帮助我找到一种可以同时使用这两种方法的方法。htaccess尝试以下方法:
RewriteEngine on
Options +FollowSymLinks
RewriteBase /
#Non www to www without trailing slash
RewriteCond %{HTTP_HOST} ^(domain\.com)/?$ [NC]
RewriteRule ^(.*/?[^/]+)/?$ http://www.domain.com/$1 [R=301,L,OR]
RewriteRule .* http://www.domain.com [R=301,L]
结果:
http://domain.com/aa/
至http://ww.domain.com/aa
http://domain.com/aa/bb/
至http://ww.domain.com/aa/bb
等
除<代码>http://domain.com/始终是http://www.domain.com/
带尾随斜杠使用HTACCESS的非WWW URL到WWW:
您可以将以下代码添加到.htaccess文件中,您可以在网站根目录中找到它,如果找不到,您可以在文本编辑器中将其复制并保存为.htaccess,然后上载
p、 s:请确保在继续之前备份.HTACCESS文件。不正确的代码可能导致500个错误
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
删除尾部斜杠
关闭尾部斜杠时要小心。如果您的主机启用了mod_dir,请确保关闭默认启用的目录斜杠。此指令将在目录末尾添加一个尾随斜杠,而不管您设置的规则如何。要禁用此功能,请将其添加到htaccess文件的顶部:
DirectorySlash Off
默认情况下,浏览器甚至服务器都会在目录中添加一个尾随斜杠。这是有原因的。如果必须去掉尾随斜杠,则可以这样做:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)$
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
为什么不工作?如果你写
http://domain.com
它将带您到http://www.domain.com
。如果你写http://domain.com/
它将带您到http://www.domain.com
在我看来,这正是你的要求。这里是:删除尾随斜杠将非www重定向到wwwits不工作在以下情况下:www.domain.com/abc/(abc可以是一个文件夹或只是一个重新连接的url),它不会删除尾随斜杠。有没有机会删除这种尾随斜杠呢?更新了我的答案,应该适用于任何路径。如果没有,请让我知道测试它。