PHP+APACHE實現(xiàn)網(wǎng)址偽靜態(tài)
Apache的 mod_rewrite是比較強大的,在進行網(wǎng)站建設時,可以通過這個模塊來實現(xiàn)偽靜態(tài)。
主要步驟如下:
1.檢測Apache是否開啟mod_rewrite功能 可以通過php提供的phpinfo()函數(shù)查看環(huán)境配置,找到“Loaded Modules”,其中列出了所有apache2handler已經(jīng)開啟的模塊,如果里面包括“mod_rewrite”,則已經(jīng)支持,不再需要繼續(xù)設置。如果沒有開啟“mod_rewrite”,則打開目錄 apache目錄下的“/apache/conf/” ,找到 httpd.conf 文件,再找到“LoadModule rewrite_module”,將前面的”#”號刪除即表示取用該功能。 如果沒有查找到“LoadModule” 區(qū)域,可以在最后一行加入“LoadModule rewrite_module ,modules/mod_rewrite.so”(獨占一行),之后重啟apache服務器。再通過phpinfo()函數(shù)查看環(huán)境配置就有“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規(guī)則學習 在新建.htaccess文件之后,就在里面寫入以下內(nèi)容: RewriteEngine on #rewriteengine為重寫引擎開關on為開啟off為關閉 RewriteRule ([0-9]{1,})$index.php?id=$1 在這里,RewriteRule是重寫規(guī)則,是用正則表達式的句子,([0-9]{1,})表示由數(shù)字組成的,$表示結束標志,表示以數(shù)字結束!如果要實現(xiàn)偽靜態(tài)頁面,規(guī)則如下: 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$是規(guī)則,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
呵呵,改寫成功!
下面將我自己配置偽靜態(tài)的一些個人經(jīng)驗分享一下:
開始接觸偽靜態(tài),看著很神奇,以為很難,其實很簡單,就是在服務器中多配置幾個虛擬域名,類似真正的訪問網(wǎng)址。 只需三步
A.首先 在Apache Apache模塊中,開啟 vhost_alias_moudle
B.修改httpd.conf文件,在這個文件中,搜索rewrite .找到 LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的#
C.修改這個文件,在路徑 D:\wamp\bin\apache\Apache2.2.21\conf\extra 下的httpd-vhosts.conf 文件,照著示例加一個就OK了
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "d:/wamp/www/dz"
ServerName localhost.www.dz.cn
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
D.在路徑 C:\Windows\System32\drivers\etc 下 的 hosts 文件中配置一下
127.0.0.1 localhost.www.dz.cn 重啟服務即可。 大功告成!
**************************************************************************** 大家新年快樂!
注明:在瀏覽器輸入中 localhost.www.dz.cn,即可訪問,我加一個localhost是為了和正式的網(wǎng)址加以區(qū)別。有不懂的可以聯(lián)系我,方便大家一起探討,共同進步!
你的偽靜態(tài)規(guī)則全部寫在 .htaccess 文件中,由于已經(jīng)開啟了偽靜態(tài),會默認加載該文件。 寫這個.htaccess 文件 要會寫正則哦,學習一些正則基礎吧!
- Apache服務器中使用.htaccess實現(xiàn)偽靜態(tài)URL的方法
- Apache中使非偽靜態(tài)url跳轉(zhuǎn)到偽靜態(tài)url的方法
- PHP偽靜態(tài)Rewrite設置之APACHE篇
- php偽靜態(tài)之APACHE篇
- Apache偽靜態(tài)Rewrite詳解
- thinkphp路由規(guī)則使用示例詳解和偽靜態(tài)功能實現(xiàn)(apache重寫)
- apache偽靜態(tài)與iis偽靜態(tài)規(guī)則與配置區(qū)別介紹
- apache中偽靜態(tài)配置和使用(Apache虛擬主機下Discuz偽靜態(tài))
- Apache 配置偽靜態(tài)詳細步驟
- WampServer設置apache偽靜態(tài)出現(xiàn)404 not found及You don''t have permission to access / on this server解決方法分析
相關文章
通過chrome瀏覽器控制臺(Console)進行PHP Debug的方法
這篇文章主要介紹了利用chrome瀏覽器控制臺(Console)進行PHP Debug,需要的朋友可以參考下2016-10-10[企業(yè)公眾號]升級到[企業(yè)微信]之后發(fā)送消息失敗的解決方法
這篇文章主要介紹了[企業(yè)公眾號]升級到[企業(yè)微信]之后發(fā)送消息失敗的解決方法,涉及微信接口的修改相關操作,需要的朋友可以參考下2017-06-06php+redis實現(xiàn)注冊、刪除、編輯、分頁、登錄、關注等功能示例
這篇文章主要介紹了php+redis實現(xiàn)注冊、刪除、編輯、分頁、登錄、關注等功能,結合實例形式分析了php+redis項目開發(fā)中常用的注冊,刪除,編輯,分頁,登錄,關注功能相關實現(xiàn)技巧,需要的朋友可以參考下2017-02-02通過PHP CLI實現(xiàn)簡單的數(shù)據(jù)庫實時監(jiān)控調(diào)度
繼續(xù)CLI模式試驗,這次通過使用之前的“帶延時的死循環(huán)”方法,來實現(xiàn)個簡單的數(shù)據(jù)庫實時監(jiān)控調(diào)度功能。2009-07-07