在输入时从URL中删除端口

时间:2015-10-13 14:13:48

标签: php url port

所以我刚安装了Dolphin Pro,就像说明书一样,我能够使用http://localhost:8080/dolphin/install/index.php

大!它说已经安装好了。但是,当我试图去:

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

Cannot GET /dolphin/administration/

在网址上:http://localhost/dolphin/administration/(注意端口:8080已被删除!)

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

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

知道端口丢失的原因,我无法访问该网址吗?

enter image description here

以下是对网址的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似乎存在问题

1 个答案:

答案 0 :(得分:4)

服务器以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变量中,你必须尝试它。