输入时从 URL 中删除端口

Port is removed from URL on enter

所以我刚刚安装了 Dolphin Pro,然后我就可以按照说明使用 http://localhost:8080/dolphin/install/index.php

太棒了!它说它已安装。但是,当我尝试去:

http://localhost:8080/dolphin/administration/ 进入管理面板,当我按回车键进入时,url 丢弃端口,我收到错误消息:

Cannot GET /dolphin/administration/

在 url 上:http://localhost/dolphin/administration/(注意端口 :8080 已被丢弃!)

我正在使用 chrome,并且 XAMPP 在端口 8080 上是 运行,而我的 nodeJS 服务器是 运行 端口 80。

我用 netstat -aon 检查了流程,但这对我没有帮助。

知道端口为什么掉线而我无法访问 URL 吗?

这是对 URL

CURL 请求
C:\Windows\system32>curl -I "http://localhost:8080/dolphin/administration/"
HTTP/1.1 302 Found
Date: Tue, 13 Oct 2015 14:18:54 GMT
Server: Apache/2.4.16 (Win32) OpenSSL/1.0.1p PHP/5.6.12
X-Powered-By: PHP/5.6.12
Location: http://localhost/dolphin/administration/
Content-Type: text/html; charset=UTF-8

更多注意事项:似乎(根据@rlemon)当我尝试将 :8888 用作随机端口时,该端口并未被丢弃。所以8080端口转发到80端口似乎有问题

服务器以 302 重定向响应。

HTTP/1.1 302 Found
Location: http://localhost/dolphin/administration/

这两行基本上告诉浏览去URL提供的。

检查你的服务器配置,一定有办法设置你必须提供端口的基础url。

浏览 the FAQ of Dolphin 我找到了这个配置文件条目:

$site['url'] = "http://example.com/";

在那里添加端口应该可以解决您的问题

$site['url'] = "http://example.com:8080/";

似乎还有第二个相关行:

header( "Location:http://{$aUrl['host']}{$_SERVER['REQUEST_URI']}" );

再次在主机后添加端口:

header( "Location:http://{$aUrl['host']}:8080{$_SERVER['REQUEST_URI']}" );

不过不确定它是否适用于这一行,这取决于第一个 / 是在主机中还是在 REQUEST_URI 变量中,您必须尝试一下。