2014-10-01 25 views
0

我正在處理當前項目中兩種不同的WAMP安裝 - 一種在我的筆記本上,另一種在我的PC上。在我的筆記本電腦上,WAMP使用端口:80,而在PC上使用端口:8080。允許使用不同端口的本地主機上的Ajax調用

有沒有辦法 - 無論是在我的htaccess文件,我的路由控制器,否則動態檢測當前的端口,並在Ajax調用期間正確實現它?

目前,我使用window對象構建url來檢測項目和端口的根。我的ajax調用是由變量+ controller/method生成的,幷包含正確的端口(當不是時:80)。

這導致url: http://localhost:8080/mySite/controller/method,但引發以下錯誤:

XMLHttpRequest cannot load http://localhost/mySite/controller/method.

端口被忽略,或覆蓋。我沒有提及端口在我的.htaccess文件,這簡直是如下:

Options -Multiviews 

RewriteEngine On 

RewriteBase /mySite/ 

RewriteCond %{REQUEST_URI} !^/api/.*$ 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(.+)$ index.php?url=$1 [QSA] 

回答

1

在PHP中可以檢測端口被用戶的機器上使用$_SERVER['REMOTE_PORT'];

與Web服務器進行通信在htaccess中你有%{SERVER_PORT}可用

+0

我將如何使用它?我的.htaccess文件將根目錄之後的所有內容(例如'MySite')重定向到我的路由控制器,作爲'$ url'變量,因此它不包含端口。我應該重新構建整個網址以包含它嗎? – Eamonn 2014-10-01 12:22:26

+0

你也可以在htaccess中使用SERVER_PORT,你可以在'%{SERVER_PORT}':)中使用它 – Robert 2014-10-01 15:05:53

相關問題