如何在域之后重新强制执行正斜杠 - 这样的情况:
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>
我尝试了不同的东西,但无法让它发挥作用。
答案 0 :(得分:0)
http://example.com
和http://example.com/
是相同的网址。你根本不需要做任何事情。有关详细信息,请参阅RFC 3986。
编辑:因为尽管完全正确,但莫名其妙地被拒绝了,请特别注意section 6.2.3:
以下四个URI是等效的:
答案 1 :(得分:-2)
默认情况下,大多数浏览器都会添加/
。但是,浏览器最近决定隐藏用户之后的http://
和/
(但它仍会发送它们)。另一件事是,如果/
不存在,安装在几乎所有apache安装中的mod_dir已经进行了301重定向。所以我想要解决一些不是问题的事情。