在实习的时候接触到一个项目,这个项目有日文版和中文版两种版本,我现在主要的任务就是改bug,
例如Web页面显示,一些简单的逻辑的修改,还有语言的翻译问题。我是用xampp这个软件集成包,
它包括了Mysql,Apache等必需的功能,所以挺好用的。
好了进入正题吧,因为我也是使用xampp不久,不是很熟悉,之前都是按照网上教程配置好环境,然
后把项目扔进htdocs文件夹里面,直接在浏览器访问localhost就可以打开我的项目。但是这几天改bug
的时候,因为有时候报的是中文版本的bug,有时候报的是日文版本的bug,我一开始的做法是在htdocs
文件里面来回更换两种版本的项目代码。但是这样也太麻烦了,所以我就想能不能使用一个xampp,通过
不同的端口去访问中版和日版呢,所以我就百度按教程做了一遍,下面贴出我实现步骤以及遇到的问题。
本文要解决的问题是:
1、8080端口分配给项目日文版,用http://localhost:8080访问它
2、8081端口分配给项目中文版,用http://localhost:8081访问它
安装完XAMPP后(我的安装路径为:E:\XAMPP)
a.修改httpd.conf
在E:\XAMPP\apache\conf 里的httpd.conf 先配置好apache的侦听端口
把里面的Listen:80 改为 Listen:8080,再添加一条Listen:8081
把里面的ServerName localhost:80 改成 ServerName localhost:8080,再添加一条ServerName localhost:8081
b.修改httpd-vhosts.conf
在E:\XAMPP\apache\conf\extra 里的httpd-vhosts.conf的最下面添加两条这个配置
<VirtualHost *:8080>
ServerName localhost
DocumentRoot "E:/XAMPP/htdocs"
</VirtualHost>
<VirtualHost *:8081>
ServerName localhost
DocumentRoot "E:/XAMPP/tx_cn"
</VirtualHost>
后来我试着打开端口,发现新端口8081报错,错误信息是“Access forbidden!”的403错误,百度了解后原来是需要加入权限
c.加入权限
权限<Directory>权限配置的问题,在httpd.conf
XAMPP默认的设置是这样的:
#<Directory />
AllowOverride none
Require all denied
</Directory>
修改成下面的就可以了!
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
继续跑端口,发现还是报错,错误信息为“Server error”的500错误,这个错误我在网上找了半天也找不到解决的办法,看其他配置方法
也没发现我哪一步做错了,后来问了隔壁的师兄,他扫了我的配置代码几眼,就立马给我指出问题了。下面是漏掉的一个步骤。
d.补全DocumentRoot(在httpd.conf里面改)
原来的文件只有第一个部分,需要补全第二部分,下面是完整的代码(注释部分删去了)
DocumentRoot "E:/xampp/htdocs"
<Directory "E:/xampp/htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
DocumentRoot "E:/xampp/tx_cn"
<Directory "E:/xampp/tx_cn">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
至此,重启一下Apache,两个端口对应的页面终于成功打开了。