如果有人在没有链接的情况下链接到您,如何在.htaccess中设置301重定向以将正斜杠添加到文档根目录?
根据我所做的研究,大多数搜索引擎将以下网址视为两个不同的网址。
mydomain.com(没有正斜杠)
mydomain.com/(正斜杠)
我试过这个(以及其他许多人):
RewriteRule ^ $ http://www.mydomain.com/ [R = 301,L]
将其抛入循环加载页面。
答案 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]