允许使用不同端口在本地主机上进行Ajax调用


Allowing for Ajax calls on localhost using different ports

我正在我当前的项目中工作两个不同的WAMP安装-一个在我的笔记本电脑上,一个在电脑上。在我的电脑上,WAMP使用端口:80,而在电脑上使用端口:8080。

有没有一种方法可以在我的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]

在PHP中,您可以检测用户机器上正在使用的端口,以便使用$_SERVER['REMOTE_PORT']; 与web服务器通信

在htaccess中,您有可用的%{SERVER_PORT}