我希望我的网站显示为www.mysite.com,不www.mysite.com/防止尾随斜线
不阿帕奇默认域名后加上结尾斜杠,还是浏览器追加它?如果我想用.htaccess来防止这种情况,URL重写规则是什么?
我希望我的网站显示为www.mysite.com,不www.mysite.com/防止尾随斜线
不阿帕奇默认域名后加上结尾斜杠,还是浏览器追加它?如果我想用.htaccess来防止这种情况,URL重写规则是什么?
http://www.searchenginejournal.com/linking-issues-why-a-trailing-slash-in-the-url-does-matter/13021/
http://www.alistapart.com/articles/slashforward/
网址最初用来建模目录,因此被要求的结尾的斜线。我想如果你没有斜线,一些网络服务器将无法正确地找到内容。
@ Anthony-对不起,但这没有意义,也没有回答这个问题。绝大多数域不包括尾部斜线(包括StackOverflow.com)。我的问题是为什么它被自动添加,以及如何防止它。 – Yarin
浏览器在请求URL时会自动添加这样的斜线。 它如何在地址栏中显示这是一个不同的故事。
例如:www.adobe.com
- 在不同的浏览器中键入一下,看看他们将如何显示它:
http://www.adobe.com/
www.adobe.com
www.adobe.com
http://www.adobe.com/
正如Anthony的第一个链接所说,斜线是地址的一部分。每个域名(不仅仅是“绝大多数”)都有一个类似于www.mysite.com的名称,但这只是一个域名,而不是一个URL。 URL是文件的地址,即协议+域名+路径文件,因此http://www.mysite.com/通过DirectoryIndex添加了缺少的文件名,因此是一个URL,但http://www.mysite.com并不意味着什么,因为在这种情况下文件路径将为空。 事实上,您的浏览器不显示您的URL的无聊部分与您的网站配置无关。
如果真的相同的浏览器在不同的网站上有不同的表现,我很想知道您使用的浏览器和网站。
如果您要求:
http://myhost.com
请求需要像这样在HTTP:
GET/HTTP/1.0
主持人:myhost.com
由于历史的原因,一些浏览器确实附加了斜杠,因为否则它会翻译为
GET <没有> HTTP/1.0
主机:myhost.com
这将是一个非法请求。
需要注意的是:
http://myhost.com/page
是合法的,因为它翻译成:
GET /页HTTP/1.0
主持人:myhost.com
这是浏览器如何显示它 - 与Web服务器无关。 – LazyOne
@ LazyOne-那么大多数网站怎么没有结尾的斜线 - 使用相同的浏览器? – Yarin
域名后面的斜线(如你的例子)......或者文件夹名称后? - 这是一个巨大的差异。 – LazyOne