子目录绑定:URL末尾部分是目录,带不带斜杠对跳转的不同影响


结构:example.com/sub/folder/

问题是:
例如访问 sub.example.com/folder (不带斜杠)
会自动跳转到 sub.example.com /sub /folder/
中间 夹了一层重复内容 ,很难看

而 sub.example.com/folder/(带斜杠)
则正常访问

当然 sub.example.com 和 sub.example.com/ 没有这个问题

虽然我们通常建议在访问目录时末尾加上斜杠来告诉服务器我访问的是目录,但是对于用户的行为实际上是不可控的;所以应该避免用户的这种操作跳转到一个看起来重复、奇怪的URL,同时我们也不希望用户看到子域名的真实路径(如示例中的子域名名字不一定要和子目录名保持一致)

附.htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^sub.example.com$ [NC]
RewriteCond %{REQUEST_URI} !^/sub/
RewriteRule ^(.*)$ sub/$1 [L,QSA]

Windows虚拟主机也有同样的情况

.htaccess web服务器

鲜染D幼月 9 years, 11 months ago

Your Answer