.htaccess在域后添加尾部斜杠

时间:2012-03-07 15:54:10

标签: .htaccess http-status-code-301

如何在域之后重新强制执行正斜杠 - 这样的情况:

http://www.domain.com

成为

http://www.domain.com/

目前我有这样的事情:

<IfModule mod_rewrite.c>

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] [AND]
RewriteCond %{HTTP_HOST} !^(.*)\.domain\.com$ [NC]  
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /index.php [L]

</IfModule>

我尝试了不同的东西,但无法让它发挥作用。

2 个答案:

答案 0 :(得分:0)

http://example.comhttp://example.com/是相同的网址。你根本不需要做任何事情。有关详细信息,请参阅RFC 3986

编辑:因为尽管完全正确,但莫名其妙地被拒绝了,请特别注意section 6.2.3

  

以下四个URI是等效的:

     

答案 1 :(得分:-2)

默认情况下,大多数浏览器都会添加/。但是,浏览器最近决定隐藏用户之后的http:///(但它仍会发送它们)。另一件事是,如果/不存在,安装在几乎所有apache安装中的mod_dir已经进行了301重定向。所以我想要解决一些不是问题的事情。