301重定向 - 为索引页添加斜杠

时间:2009-12-20 19:06:32

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

如果有人在没有链接的情况下链接到您,如何在.htaccess中设置301重定向以将正斜杠添加到文档根目录?

根据我所做的研究,大多数搜索引擎将以下网址视为两个不同的网址。

mydomain.com(没有正斜杠)

mydomain.com/(正斜杠)

我试过这个(以及其他许多人):

RewriteRule ^ $ http://www.mydomain.com/ [R = 301,L]

将其抛入循环加载页面。

2 个答案:

答案 0 :(得分:0)

我认为你从研究中得出了错误的结论。对于HTTP,没有正斜杠的Root-URL被指定为等于正斜杠:

  

注意绝对路径不能为空;如果原始URI中不存在,则必须以“/”(服务器根)的形式给出。 [RFC 2616 Section 5.1.2]

因此,如果原始URL只是一个不以正斜杠结尾的域名(即绝对路径为空),则该URL将通过正斜杠进行扩展。你不需要做任何事情。

至于你的问题:由于mod_rewrite的微妙之处,第一个斜杠被省略,所以你的RewriteRule捕获了根URL并在重定向循环中发送了请求者。

答案 1 :(得分:0)

你可以尝试类似的东西

确保您匹配没有/的域,如果没有重定向。

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