剛開始學習,跟着韓順平老師的視頻課件學習ing~
這是自己在配置虛擬目錄時遇到的問題以及解決辦法,記錄下來~
---------------------------分割線君-------------------------------
我的apache安裝目錄為E:\apache\Apache24
想要配置的目錄為D:\myblog 中的網頁文件
- step1 添加虛擬目錄節點
找到E:\apache\Apache24\conf 中的httpd.conf文件,增加下圖紅框中代碼
- step2 注釋documentroot路徑
- step3 測試(先重啟apache)
http://localhost:8080/myblog
按照韓老師的教程,理論上這樣是可以成功的了。但是我測試時出錯了,此時意識到可能是版本不同的問題,我的是2.4版,韓老師是2.2版~
接下來找錯~
--------------------------------分割線君-----------------------------------------------------------------------------------------------------------
- 此時重啟apache出錯,如下圖
- 檢查錯誤原因,因為我只是修改了httpd.conf文件,所以一定是該文件問題,所以查找具體哪句代碼問題。
方法:進入cmd 然后進入 Apache安裝目錄(具體為你自己的安裝目錄)\bin>
輸入 httpd.exe -w -n "Apache2.4" -k start
(引號中的Apache2.4修改為你的Apache服務名,我的是2.4.20版,服務名就是Apache2.4,可以到計算機服務里找,如下圖)
提示288行有問題時(提示:Syntax error on line 288 of ...........Invalid command 'Order'......),如下圖
- 為什么'Order' 有問題呢——版本問題
在Apache2.4版本中,提供了由mod_authz_host支持的新的訪問控制配置語法。
而2.2版本中的Order、Allow等命令在新版本中也可以得到兼容,實現這個兼容功能的模塊就是mod_access_compat。
所以Load這個模塊后,apache2.4就能識別這些語句了。
此時apache重啟成功,所以開心地去測試了,但是。。。
- 從字面意思理解,這應該是訪問權限問題,注釋掉Require all denied,如下
重啟apache,測試成功