5

我希望我的网站显示为www.mysite.com,而不是www.mysite.com/

Apache 是否默认在域名后添加斜杠,或者浏览器是否附加它?如果我想使用 .htaccess 来防止这种情况发生,那么 url 重写规则是什么?

4

4 回答 4

4

如果您要求:

http://myhost.com

请求在 HTTP 中需要如下所示:

GET / HTTP/1.0
主机:myhost.com

由于历史原因,一些浏览器确实附加了斜杠,否则它会转换为

GET <nothing> HTTP/1.0
主机:myhost.com

这将是一个非法的请求。

注意:

http://myhost.com/page

是合法的,因为它转化为:

GET /page HTTP/1.0
主机:myhost.com

于 2013-01-03T02:42:31.227 回答
2

http://www.searchenginejournal.com/linking-issues-why-a-trailing-slash-in-the-url-does-matter/13021/

http://www.alistapart.com/articles/slashforward/

URL 最初用于对目录进行建模,因此需要尾部斜杠。我认为如果您没有尾部斜杠,一些网络服务器将无法正确找到内容。

于 2011-09-08T23:01:27.273 回答
2

正如 Anthony 的第一个链接所解释的,斜杠是地址的一部分。每个域(不仅仅是“绝大多数”)都有一个类似于 www.mysite.com 的名称,但这只是一个域名,而不是 URL。URL是一个文件的地址,即协议+域名+路径文件,所以http://www.mysite.com/被DirectoryIndex添加了缺少的文件名,因此是一个URL,但是http://www.mysite.com只是没有任何意义,因为在这种情况下文件路径将为空。您的浏览器不显示您的 URL 的无聊部分这一事实与您网站的配置无关。

如果真的相同的浏览器在不同的网站上表现不同,我很想知道您使用的是什么浏览器和哪些网站。

于 2011-09-23T13:43:53.907 回答
2

浏览器在请求 URL 时会自动添加这样的斜线。它如何在地址栏中显示是另一回事。

例如: www.adobe.com -- 在不同的浏览器中输入它,看看它们将如何显示它:

  • 火狐(Windows,6.0.2)=http://www.adobe.com/
  • 谷歌浏览器(Windows,13.0.782.220 m)=www.adobe.com
  • 歌剧 (Windows 11.51) =www.adobe.com
  • 互联网浏览器 9 =http://www.adobe.com/
于 2011-09-11T14:45:07.310 回答