apache配置偽靜態
注意:本文中關於apache的配置修改,一定要記得重啟apache服務
偽靜態的實現有多種方法,比如通過獲取path_info資訊使用php邏輯來達到偽靜態,使用apache提供的rewrite來達到偽靜態,本文主要對apache提供的rewrite實現偽靜態做個記錄
1、開啟apache服務的mod_rewrite模組:
編輯下的httpd.conf檔案:
2、編寫偽靜態規則
具體的規則的寫法可以學習apache手冊中url重寫:
規則寫在什麼地方?可以直接寫在httpd.conf檔案中,也可以寫在專案檔案中的 .htaccess檔案中,當要寫在 .htaccess檔案中時記得在httpd.conf檔案中開啟對應目錄的allowoverride
3、我們使用 .htaccess 的方式(雖然手冊中說這會影響apache的效能,但是我們是測試,所以為了不影響其他專案,就採用這種方式)
編寫 .htaccess 檔案12
3456
78910
options +followsymlinks
rewriteengine on
# 判斷是否存在請求的目錄,
rewritecond % !-d
# 判斷是否存在請求的檔案,
rewritecond % !-f
# 如果上面請求的路徑檔案存在,直接執行請求檔案,不存在就繼續執行下面的規則
rewriterule ^detail/([\d]+).html$ detail.php?id=
$1
上面的規則意思是:當請求的檔案存在時直接執行請求檔案,當不存在時執行匹配最後的規則,進入到detail.php檔案執行
4、當我們訪問 http://localhost/statichtml/detail/3.html
因為 statichtml/detail/3.html 這個檔案是不存在的,這時我們正真訪問的其實是http://localhost/statichtml/detail.php?id=3
當我們訪問:http://localhost/statichtml/detail/4.html
4.html這個檔案是存在的
此時直接直接執行檔案返回:
基本在apache上的偽靜態,簡答的配置就是這樣,當然你可以根據自己的需求將規則更加優雅。這完全都是你自己的需求和能力決定的。我只是在這裡做乙個簡答的流程性的記錄,只有配置的規則的一些只是在apache手冊上面有詳細的說明。如果我們不是伺服器管理員,只是乙個很普通很普通的程式設計師,我們就先了解這麼乙個流程,以後工作中用到的時候好好看看手冊,畢竟apache的手冊是很詳細的。如果想著想著仔細的學習apache手冊,然後記住,這是很難的,如果我們不經常操作,很容易就忘記了。所以還是了解各流程然後需要時學習手冊,這樣最好。
來自為知筆記(wiz)
apache大師 偽靜態 Apache配置偽靜態
apache配置偽靜態 注意 本文中關於apache的配置修改,一定要記得重啟apache服務 偽靜態的實現有多種方法,比如通過獲取path info資訊使用php邏輯來達到偽靜態,使用apache提供的rewrite來達到偽靜態,本文主要對apache提供的rewrite實現偽靜態做個記錄 1 開...
Apache 偽靜態配置
1 開啟http.conf中的rewrite模組 loadmodule rewrite module modules mod rewrite.so 前的注釋去掉即可 檢測 可使用phpinfo 檢視mod rewrite模組是否載入 2 允許指定目錄使用.htaccess documentroot ...
apache配置偽靜態Rewrite
找到這一行 loadmodule rewrite module modules mod rewrite.so 改成loadmodule rewrite module modules mod rewrite.so 儲存httpd.conf 找到標記,標記之間有 allowoverride none 修...