我正在我当前的项目中工作两个不同的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}