2015-10-13 84 views
1

所以我剛剛安裝了Dolphin Pro,並且我能夠像使用說明所說的那樣使用http://localhost:8080/dolphin/install/index.php端口從URL上刪除輸入

太棒了!它說它已安裝。然而,當我嘗試去:

http://localhost:8080/dolphin/administration/去管理面板,當我按下回車鍵去,URL下降港口和我得到的錯誤信息:

Cannot GET /dolphin/administration/ 

的網址:http://localhost/dolphin/administration/(注意端口:8080已被刪除!)

我使用的是Chrome和XAMPP在端口8080上運行,而我的服務器的NodeJS運行端口80

我檢查的過程與netstat -aon但是這並沒有幫助我。

任何想法爲什麼端口下降,我無法到達URL?

enter image description here

這裏是一個CURL請求URL

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似乎存在問題

+0

端口8080將默認loaclhost端口。所以當你運行它時,也會從URL中刪除 –

+0

你可以嘗試http://127.0.0.1:8080/dolphin/administration/? – ogres

+2

我認爲端口80是默認的。當我放棄端口時,我正在從我的節點服務器上打印頁面。 –

回答

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變量,你也來試試吧。

+2

停止了端口滴下謝謝!不幸的是,它拋出了一個重定向循環,所以我必須在下一步找出它。感謝您的幫助 –

+0

嘿,您應該將此行添加到您的答案中,因爲它會導致重定向循環。默認情況下,這個if語句被路由到port:80'if(isset($ _ SERVER ['HTTP_HOST'])和0!= strcasecmp($ _ SERVER ['HTTP_HOST'],$ aUrl ['host'])和0! = strcasecmp($ _ SERVER ['HTTP_HOST'],$ aUrl ['host']。':8080')){'在header.inc中的第95行。將其更改爲適當的端口,安裝即可成功。 –

+0

如果您直接修改應用程序的PHP文件,則必須在每次更新後重復這些編輯。從長遠來看,你應該考慮改變你的設置。通常的配置是在缺省端口80上使用apache,並將請求重定向到在備用端口上運行的應用程序服務器(在您的情況下爲node.js)。它將在未來爲您節省大量的工作。 –