3

我已经在 Windows 7 上设置了 Apache,以便有一些虚拟主机用于本地开发目的。
httpd-vhosts.conf文件对于所有虚拟主机都具有以下格式:

<VirtualHost *:80>
   ServerName example.dev
   DocumentRoot "C:/Program Files (x86)/Apache2.2/htdocs/example.dev/"  # <--removing the forwardslash here doesn't fix this
</VirtualHost>

Windowshosts文件中的每个都有:

127.0.0.1       example.dev

现在,困扰我的是,每次我example.dev在地址栏中输入时,它都会添加一个额外的尾部正斜杠,变成example.com/. 我为我所有的虚拟主机都得到了这个。简单地访问localhost不会添加尾部正斜杠。这不会发生:. 没什么大不了的,但它困扰着我,我找不到解决方案。 localhost/

有任何想法吗?

4

1 回答 1

4

额外的斜线不是由您的 Apache 配置引起或避免的,它是浏览器的“功能”,它构成浏览器的 HTTP 参数,向 Web 服务器创建 HTTP POST 或 GET 请求。

为了请求 www.example.com 的主页,HTTP 浏览器生成的代码类似于:

GET / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/4.0

并且浏览器只是在 GET/POST 之后显示主机名加上字符串的连接

可能是某些浏览器不会显示它,但它不会改变 HTTP 请求正在请求 /

localhost 的情况在浏览器上是不同的策略,它只是一个别名(HTTP 的 Host: 字段不是 localhost)

于 2012-09-08T23:10:53.893 回答