我决定更改Apache的端口以清除与其他应用程序的一些冲突,甚至可能在未来给IIS一个机会。我遇到了下面描述的问题。
基本情况:
WIN 7 x64
XAMPP 1.7.4 (Apache 2.2.17, MySQL 5.5.8, PHP 5.3.5)
所以我通过在httpd.conf中更改它将默认的Apache端口从80更改为8080:
Listen 8080 (was Listen 80)
ServerName localhost:8080 (was ServerName localhost)
在我的vhosts文件中,我有:
NameVirtualHost 127.0.0.1:8080
和几个虚拟主机定义如下:
<VirtualHost 127.0.0.1:8080>
DocumentRoot "somepath"
ServerName servername
<directory "somepath">
usual stuff here
</directory>
</VirtualHost>
当我尝试使用上面定义的servername访问虚拟主机时,如果没有明确指定端口,它将无法工作:
servername:8080
似乎vhosts文件中定义的端口没有任何区别,无论我尝试过什么(80,8080,没有),它总是要求端口被赋予服务器名称。
phpinfo()说:
SERVER_PORT: 8080
Apache错误日志不会显示任何错误。
我想我想知道这是否是正常行为,或者有些事我忽略了。
答案 0 :(得分:2)
80端口是浏览器的默认端口,这就是您不需要访问servername:80的原因。在您的情况下,访问服务器是正常的,如下所示:servername:8080
答案 1 :(得分:0)
如果您想访问localhost而未在网址中指定端口号,请http://localhost
而不是http://localhost:8080
。
8080
。