Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
消除Apache虚拟主机的正斜杠结尾_Apache_Virtualhost - Fatal编程技术网

消除Apache虚拟主机的正斜杠结尾

消除Apache虚拟主机的正斜杠结尾,apache,virtualhost,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

我已经在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>
现在,困扰我的是,每次我在地址栏中键入
example.dev
,它都会添加一个额外的尾部正斜杠,变成
example.com/
。我所有的虚拟主机都有这个。仅访问
localhost
不会添加尾部的正斜杠。这不会发生:
localhost/

没什么大不了的,但它困扰着我,我找不到解决办法


有什么想法吗?

额外的斜杠不是由Apache配置引起的,也不是可以避免的,它是构成浏览器HTTP参数的浏览器的“功能”,这些浏览器创建HTTP POST或GET请求到web服务器

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

GET / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/4.0
浏览器只是显示主机名加上GET/POST后面的字符串的连接

可能有些浏览器不会显示它,但它不会改变HTTP请求正在请求的事实/


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

您可能是对的,但我认为可以避免。我认为,
localhost
也处于同样的情况。但是,再举一个例子,转到
stackoverflow.com
,并没有添加尾随斜杠。您使用的浏览器/操作系统是什么?Chrome最新版本稳定版和Windows 7。请检查一下,如果DocumentRoot目录中有index.html页面,您会得到额外的斜杠?一点也不确定,但它可能与apache目录列表的设置有关。使用chrome开发者工具,检查网络,并读取原始HTTP请求。查看正在添加/的案例和未添加/的案例之间是否存在差异。目前在chromium/linux中,当复制URL而不复制/并将其粘贴到文本编辑器中时,它会显示隐藏在地址栏中的/时,我几乎可以肯定显示与否(仅在主机名为void path的情况下)是浏览器设置,而不是Apache设置。看看这个问题:
GET / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/4.0