我已经在 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/
。
没什么大不了的,但它困扰着我,我找不到解决方案。
有什么想法吗?
最佳答案
额外的斜杠不是由您的 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)
关于apache - 摆脱 Apache 虚拟主机的结束正斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12334971/