文章轉自 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項目也可以設置,只要設置不同的端口號就行啦。