php中配置偽靜態

2022-02-15 04:42:48 字數 1663 閱讀 6813

mod_rewrite是apache的乙個非常強大的功能,它可以實現偽靜態頁面。下面我詳細說說它的使用方法

1.檢測apache是否支援mod_rewrite

通過php提供的phpinfo()函式檢視環境配置,通過ctrl+f查詢到「loaded modules」,其中列出了所有apache2handler已經開啟的模組,如果裡面包括「mod_rewrite」,則已經支援,不再需要繼續設定。

如果沒有開啟「mod_rewrite」,則開啟目錄 您的apache安裝目錄「/apache/conf/」 下的 httpd.conf 檔案,通過ctrl+f查詢到「loadmodule rewrite_module」,將前面的」#」號刪除即可。

如果沒有查詢到,則到「loadmodule」 區域,在最後一行加入「loadmodule rewrite_module ,modules/mod_rewrite.so」(必選獨佔一行),然後重啟apache伺服器即可。

2.讓apache伺服器支援.htaccess

如何讓自己的本地apache伺服器支援」.htaccess」呢?其實只要簡單修改一下apache的httpd.conf設定就可以讓 apache支 持.htaccess了。開啟httpd.conf檔案(在那裡? apache目錄的conf目錄裡面),

用文字編輯器開啟後,查詢

options followsymlinks

allowoverride none

改為options followsymlinks

allowoverride all

就可以了。

3.建立.htaccess 檔案

有1種最簡單的方法建立.htaccess檔案:

用記事本 開啟,點選檔案–另存為,在檔名視窗輸入」.htaccess」,注意是整個綠色部分,

也就是包含英文引號,然後點選儲存就行了。

4.rewrite規則學習

我們新建乙個.htaccess檔案之後,就在裡面寫入以下內容:

rewriteengine on #rewriteengine為重寫引擎開關on為開啟off為關閉

rewriterule ([0-9])$index.php?id=$1

我講解一下rewriterule:rewriterule是重寫規則,支援正規表示式的,上面的([0-9])是指由數

字組成的,$是結束標誌,說明是以數字結束!

好吧,現在我們可以實現偽靜態頁面了,寫下一下的規則:

rewriteengine on

rewriterule ([a-za-z])-([0-9]).html$index.php?action=$1&id=$2

([a-za-z])-([0-9]).html$是規則,index.php?action=$1&id=$2是要替換的格式,$1代表第

乙個括號匹配的值,$2代表第二個,如此類推!!

我們寫乙個處理的php指令碼:

index.php

php**

echo 『你的action是:』 . $_get['action'];

echo 『

』;echo 『你的id是:』 . $_get['id'];

?>

好了,我們現在在瀏覽器中輸入:

localhost/page-18.html

輸出的是:

你的action是:page

你的id是:18

php偽靜態配置

配置虛擬主機和偽靜態 1.開啟apache的rewrite模組 loadmodule rewrite module modules mod rewrite.so 2.開啟虛擬主機功能 3.修改conf extra httpd vhosts.conf檔案 documentroot f wamp www...

PHP 偽靜態技術

下面是生成偽靜態位址和逆轉偽靜態位址的兩個函式,這兩個函式在相應的位置引用就可以實現將轉成這樣的形式。使用參考 將此ion list page 2 位址生成 action list page 2.htm形式 url ion list page 2 urlstr makeurlhtml url ech...

PHP偽靜態步驟

header content type text html charset utf 8 dsn mysql host localhost dbname seven db new pdo dsn,root db exec set names utf8 分頁 count 11 page size 3 總...