摆脱Apache虚拟主机的结束正斜杠

时间:2012-09-08 22:25:01

标签: apache virtualhost

我在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>

Windows hosts文件包含以下内容:

127.0.0.1       example.dev

现在,困扰我的是,每次我在地址栏中输入example.dev时,都会添加一个额外的尾随前进,成为example.com/。我得到了所有虚拟主机的这个。只需访问localhost 即可添加尾随转发。这会发生localhost/ 没什么大不了的,但它困扰着我,我无法找到解决方案。

有什么想法吗?

1 个答案:

答案 0 :(得分: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的字段不是localhost)