mod_rewrite是Apache的一個非常強大的功能它可以實現偽靜態頁面下面我詳細說說它的使用方法
檢測Apache是否支持mod_rewrite
通過php提供的phpinfo()函數查看環境配置通過Ctrl+F查找到“Loaded Modules”其中列出了所有apachehandler已經開啟的模塊如果裡面包括“mod_rewrite”則已經支持不再需要繼續設置
如果沒有開啟“mod_rewrite”則打開目錄 您的apache安裝目錄“/apache/conf/” 下的 文件通過Ctrl+F查找到“LoadModule rewrite_module”將前面的”#”號刪除即可
如果沒有查找到則到“LoadModule” 區域在最後一行加入“LoadModule rewrite_module modules/mod_rewriteso”(必選獨占一行)然後重啟apache服務器即可
讓apache服務器支持htaccess
如何讓自己的本地APACHE服務器支持”htaccess”呢?其實只要簡單修改一下apache的設置就可以讓 APACHE支 持htaccess了打開文件(在那裡? APACHE目錄的CONF目錄裡面)
用文本編輯器打開後查找
Options FollowSymLinks
AllowOverride None
改為
Options FollowSymLinks
AllowOverride All
就可以了
建立htaccess 文件
有種最簡單的方法建立htaccess文件
用記事本 打開點擊文件–另存為在文件名窗口輸入”htaccess”注意是整個綠色部分
也就是包含英文引號然後點擊保存就行了
rewrite規則學習
我們新建一個htaccess文件之後就在裡面寫入以下內容
RewriteEngine on #rewriteengine為重寫引擎開關on為開啟off為關閉
RewriteRule ([]{})$indexphp?id=$
我講解一下RewriteRuleRewriteRule是重寫規則支持正則表達式的上面的([]{})是指由數
字組成的$是結束標志說明是以數字結束!
好吧現在我們可以實現偽靜態頁面了寫下一下的規則
RewriteEngine on
RewriteRule ([azAZ]{})([]{})html$indexphp?action=$&id=$
([azAZ]{})([]{})html$是規則indexphp?action=$&id=$是要替換的格式$代表第
一個括號匹配的值$代表第二個如此類推!!
我們寫一個處理的PHP腳本
indexphp
PHP代碼
echo ‘你的Action是’ $_GET[action];
echo ‘
’;
echo ‘你的ID是’ $_GET[id];
?>
好了我們現在在浏覽器中輸入
localhost/pagehtml
輸出的是
你的Action是page
你的ID是
From:http://tw.wingwit.com/Article/program/PHP/201311/21163.html