Apache配置偽靜態

2022-03-10 04:58:01 字數 1953 閱讀 5547

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 修...