apache 偽靜態頁面簡單應用執行個體
我們在apache裡面做 偽靜態需要apache的mod_rewrite 模組,處理方法在apache設定檔裡面RewriteEngine on #rewriteengine為重寫引擎開關on為開啟off為關閉。
建立.htaccess 檔案
(1)用記事本 開啟,點擊檔案–另存新檔,在檔案名稱視窗輸入”.htaccess”,注意是整個綠色部分,也就是包含英文引號,然後點擊儲存就行了。
(2)進入cmd命令 視窗,通過cd切換當剛建立htaccess.txt檔案的檔案夾,然後輸入命令:rename htaccess.txt .htaccess ,然後點擊鍵盤Enter鍵即可。
(3)通過ftp串連htaccess.txt所在檔案夾,通過ftp軟體重新命名。
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伺服器即可。
RewriteEngine on #rewriteengine為重寫引擎開關on為開啟off為關閉
RewriteRule ([0-9]{1,})$ index.php?id=$1
我講解一下RewriteRule:RewriteRule是重寫規則,支援Regex的,上面的([0-9]{1,})是指由數字組成的,$是結束標誌,說明是以數字結束!
好吧,現在我們可以實現偽靜態頁面了,寫下一下的規則:
RewriteEngine on
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$ index.php?action=$1&id=$2
([a-zA-Z]{1,})-([0-9]{1,}).html$是規則,index.php?action=$1&id=$2是要替換的格式,$1代表第一個括弧匹配的值,$2代表第二個,如此類推!!
我們現在在瀏覽器中輸入:
localhost/view-12.html
<?php
echo '你的Action是:' . $_GET['action'];
echo '<br/>';
echo '你的ID是:' . $_GET['id'];
?>
輸出的是:
你的Action是:view
你的ID是:12