phpapache偽靜態
1. 怎樣測試伺服器是否支持php的偽靜態
1. 第一:檢測 apache是否開啟mod_rewrite
2. 通過php提供的phpinfo()函數查看孝滾環境配置,在"apache2handler —>彎兄 Loaded
Moles"里看是否有"mod_rewrite"模塊,如沒開啟則在apache配置文件httpd.conf 中找到"#LoadMole
rewrite_mole moles/mod_rewrite.so"去掉前面的"#"號,重啟apache即可
3. 第二:檢測apache是否支持 ".htaccess"
4.如測試中不支持".htaccess",那在apache配置文件httpd.conf 中找到""與""內的"AllowOverride
None"改為"AllowOverride All",重啟apache即可
5.
{讓apache伺服器支持.htaccess,如何讓自己的本地Apache服務巧鬧余器支持」.htaccess」呢?其實只要簡單修改一下apache的httpd.conf設置就可以讓支持.htaccess了。打開httpd.conf文件,用文本編輯器打開後查找
6. Options FollowSymLinks
7. AllowOverride None
8. 改為
9.Options FollowSymLinks
10.AllowOverride All
11.就是把None修改為All}
12. 第三:創建.htaccess 文件
13. 創建.htaccess
文件方法:新建文本文檔,名字為"htaccess.txt",再打開"htaccess.txt"另存為,此時注意,名稱改為
"".htaccess""保存即可
14. 第四:測試偽靜態實例
15. .htaccess文件中輸入:
16. RewriteEngine on
17. RewriteRule ([a-zA-Z])-([0-9])-([0-9]).html$
index.php?action=&id=&page=
18. 新建index.php文件並輸入:
19. echo 'action='.$_GET['action'];
20. echo '
id='.$_GET['id'];
21. echo '
page='.$_GET['page'];
22. ?>
23. 在地址欄中輸入 http://127.0.0.1/view-8-2.html 按回車將顯示出參數:
24. action=view
25. id=8
26. page=2
2. PHP本地如何實現偽靜態頁面
Apache的 mod_rewrite是比較強大的,在進行網站建設時,可以通過這個模塊來實現偽靜態。
主要步驟如下: 1.檢測Apache是否開啟mod_rewrite功能 可以通過php提供的phpinfo()函數查看環境配置,找到「Loaded Moles」,其中列出了所有apache2handler已經開啟的模塊,如果裡麵包括「mod_rewrite」,則已經支持,不再需要繼續設置。如果沒有開啟「mod_rewrite」,則打開目錄 apache目錄下的「/apache/conf/」 ,找到 httpd.conf 文件,再找到「LoadMole rewrite_mole」,將前面的」#」號刪除即表示取用該功能。 如果沒有查找到「LoadMole」 區域,可以在最後一行加入「LoadMole rewrite_mole ,moles/mod_rewrite.so」(獨佔一行),之後重啟apache伺服器。再通過phpinfo()函數查看環境配置就有「mod_rewrite」為項了.。
2.讓apache伺服器支持.htaccess 如何讓自己的本地APACHE伺服器支持:「htaccess」呢? 只需修改apache的httpd.conf設置就可以讓 APACHE支持「.htaccess」了。打開 APACHE目錄的CONF目錄下的httpd.conf文件,找到: Options FollowSymLinks AllowOverride None 改為 Options FollowSymLinks AllowOverride All 就行了。
3.建立.htaccess 文件 建立.htaccess文件時要注意,不能直接建,方法是通過記事本中的另存為菜單,在文件名窗口輸入:「.htaccess」,然後點擊保存。
4.rewrite規則學習 在新建.htaccess文件之後,就在裡面寫入以下內容: RewriteEngine on #rewriteengine為重寫引擎開關on為開啟off為關閉 RewriteRule ([0-9]{1,})$index.php?id=$1 在這里,RewriteRule是重寫規則,是用正則表達式的句子,([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代表第1括弧匹配的值,$2代表第二個括弧的值,如此類推! 測試PHP腳本如下: index.php文件中的代碼如下: echo 『你的Action值為:』 . $_GET['action']; echo 『 』; echo 『ID值為:』 . $_GET['id']; ?>
在瀏覽器地址欄輸入: localhost/page-18.html 輸出的是: 你的Action值為:page ID值為:18