文章转自 https://my.oschina.net/u/3618644/blog/1569972
问题来源:
一般情况下,每个项目占用一个根目录,而不是一个根目录下面有多个项目。
比如说,安装xampp,xampp的安装路径为:D:\
安装好后,D盘下面就会有一个文件夹:xampp,如图:
而默认的xampp的根目录是xampp文件夹下的htdocs文件夹,即根目录的路径为:
D:\xampp\htdocs\
如果htdocs文件夹下有一个文件,叫做index.php,我们就可以这样访问:
localhost/index.php
这就等价于
D:\xampp\htdocs\index.php。
如果我们有2个项目,一个叫a项目,一个叫b项目,如图:
如果我们想分别访问,就必须这样写:
localhost/a/index.php
localhost/b/index.php
这就是所谓的单一的根目录。那我们能不能为a和b项目各设置一个根目录呢?这样我们访问a和b项目时就可以这样访问:
localhost/index.php (即localhost/a/index.php)
localhost:8090/index.php (即localhost/b/index.php)
这样,a的根目录就是localhost,b的根目录就是localhost:8090
这里,localhost的路径就是D:\xampp\htdocs\a\,localhost:8090的路径是D:\xampp\htdocs\b\。
方法:
①
点击Config,并打开Apache(httpd.conf)文件
②
搜索Listen字,在Listen 80下添加一句:Listen 0.0.0.0:8090
意思是再监听一个端口,这个端口是8090
③再在这个文件中搜索:directory,找到如图所示
这句是拒绝所有请求,删掉这一句,改成 :Allow from all ,如图
意思是,允许所有。
然后把AllowOverride none改成AllowOverride all,即所有都重定向
④在D:\xampp\apache\conf\extra中找到httpd-vhosts.conf文件,并打开
⑤在文件的最下面添加如下语句:
<VirtualHost *:8090>
ServerName localhost
DocumentRoot D:/xampp/htdocs/b
</VirtualHost>
上面的DocumentRoot就可以设置根目录的路径了,我们想要把b项目作为根目录,所以路径写到b文件夹。此时访问b项目下的index.php时就可以直接写:
localhost:8090/index.php
同理,a项目也可以设置,只要设置不同的端口号就行啦。