0

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

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

mydomain.com(无正斜杠)

mydomain.com/(正斜杠)

我试过这个(加上许多其他的):

重写规则 ^$ http://www.mydomain.com/ [R=301,L]

这会将它扔进一个循环加载页面的循环中。

4

2 回答 2

0

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

注意绝对路径不能为空;如果原始 URI 中不存在任何内容,则必须将其指定为“/”(服务器根目录)。[RFC 2616 第 5.1.2 节]

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

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

于 2009-12-20T19:22:45.810 回答
0

你可以尝试类似的东西

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

RewriteCond %{HTTP_HOST} ^mydomain\.com$ 
RewriteRule ^(.*)$ http://mydomain.com/$1 [L,R=301]
于 2009-12-20T19:23:40.600 回答