经常需要在本地调试网站,却又不喜欢在http://localhost/网站的文件夹名
且几个比较重要的项目我想直接用端口号以示区分,想达到的效果如下:
http://localhost/ 默认80端口的时候访问的是D:\目录下的A网站
http://localhost:8080/ 8080端口的时候访问的是E:\目录下的B网站
以此类推,网站目录可以存放在硬盘下的任何地方。
应该有两种方式:1.直接修改httpd.conf
2.开启虚拟端口:修改httpd-vhosts.conf文件内容
*******************************************************************************************************************
第一种:
实现的过程如下:
1、打开apache的httpd.conf文件,在Listen 80处另起一行输入Listen 8080 监听8080端口,如需其他端口需逐个添加:
Listen 80
Listen 8080
Listen 8081
Listen 8082
...
2、在httpd.conf文件最后一行添加:
NameVirtualhost localhost:8080 # 虚拟主机端口
<virtualhost localhost:8080>
documentroot E:/sk #这里就是你的网站目录绝对路径了哦~注意斜杠的方向
servername locahost:8080 #对应监听的端口
</virtualhost>
...
3、继续在最后添加目录属性:
<Directory "E:/sk">
Options Indexes FollowSymLinks
AllowOverride All #允许URL重写
Order allow,deny
Allow from all
</Directory>
完毕后记得重启apache,然后再浏览器输入http://localhost:8080/ 就可以访问到E:/sk下的网站了
********************************************************************************************************
第二种:比较简单分三步
1.在httpd.conf中添加新的监听端口:Listen 8887
2. # Virtual hosts
#虚拟主机 开启多端口 原先是注释掉的
Include conf/extra/httpd-vhosts.conf
3.修改httpd-vhosts.conf内容,注意此文件的路径。
新增如下内容:
<VirtualHost *:8887>
ServerAdmin webmaster@dummy-host.localhost
DocumentRoot "D:\Apache Software Foundation\apache-tomcat-6.0.33\webapps2"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/dummy-host.localhost-error.log"
CustomLog "logs/dummy-host.localhost-access.log" common
<Directory "D:\Apache Software Foundation\apache-tomcat-6.0.33\webapps2">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
在局域网中也可使用“内网ip(192.168.1.*)+端口号”的形式访问网站。
************************************************************************************************************
特别说明:如果在外网中想以“ip+端口号”的形式访问网站,则需要进行端口映射。
注意:当服务器的防火墙开启后,要在高级设置-》入站规则中添加相应端口。