ReWrite學(xué)習(xí)筆記小結(jié)
更新時(shí)間:2008年03月31日 19:04:28 作者:
首先,你的空間得支持ReWrite,具體的設(shè)置我就不說了,上搜索引擎查一下很多的。我這里就講很簡(jiǎn)單的入門。
比如,下面,我要實(shí)現(xiàn)這樣的URL:
http://xxx.com/0725
http://xxx.com/0726
http://xxx.com/0727
…
上面xxx.com是一個(gè)記錄《今天是》這樣的歷史內(nèi)容的一個(gè)測(cè)試站點(diǎn)。上面鏈接的意思,就是顯示07月25日的歷史上發(fā)生了什么事情,類似這樣。這樣看起來就很美觀、整齊了。要不然,可能的地址就是:
http://xxx.com/index.php?t...
http://xxx.com/index.php?t...
http://xxx.com/index.php?t...
…
現(xiàn)在我就是要實(shí)現(xiàn)把 index.php?today= 隱藏掉。以下是代碼:
1..htaccess 文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)$ /index.php?today=$1
</IfModule>
粗體字這里我說明一下,其它的按這個(gè)格式吧,具體我現(xiàn)在也不理解。
[0-9]的意思是,參數(shù)只能是0~9這些數(shù)字,如果你要包含任何字符,就改為:
RewriteRule ^(.+)$ /index.php?today=$1
這里[0-9]改為了. ,這個(gè).就代表任意字符。當(dāng)然復(fù)雜的還很復(fù)雜,我們暫時(shí)不管。
2.index.php文件
<?php
//rewrite 測(cè)試
$uid =$_REQUEST['today'];
?>
<HTML>
<HEAD>
<TITLE>rewrite 測(cè)試</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080">
今天是<?php echo $today;?>,看看歷史上的今天都發(fā)生了什么事情?<br>
……
</BODY>
</HTML>
這里參數(shù)就會(huì)傳遞給index.php文件里的$today,在這個(gè)程序內(nèi),你就可以根據(jù)參數(shù),進(jìn)行處理,如查詢數(shù)據(jù)庫(kù)啦、做運(yùn)算啦等,然后再顯示相應(yīng)的數(shù)據(jù)出來,就可以了。
實(shí)現(xiàn)方法2
<?php
//url示例:soft.php/1,100,8630.html
//利用server變量 取得PATH_INFO信息 該例中為 /1,100,8630.html 也就是執(zhí)行腳本名后面的部分
if(@$path_info =$_SERVER["PATH_INFO"]){
if(preg_match("/\/(\d+),(\d+),(\d+)\.html/si",$path_info,$arr_path)){
$gid =intval($arr_path[1]); //取得值 1
$sid =intval($arr_path[2]); //取得值100
$softid =intval($arr_path[3]); //取得值8630
//相當(dāng)于soft.php?gid=1&sid=100&softid=8630
}else die("Path:Error!");
}else die("Path:Nothing!");
echo($gid);
echo("<br>");
echo($sid);
echo("<br>");
echo($softid);
?>
http://xxx.com/0725
http://xxx.com/0726
http://xxx.com/0727
…
上面xxx.com是一個(gè)記錄《今天是》這樣的歷史內(nèi)容的一個(gè)測(cè)試站點(diǎn)。上面鏈接的意思,就是顯示07月25日的歷史上發(fā)生了什么事情,類似這樣。這樣看起來就很美觀、整齊了。要不然,可能的地址就是:
http://xxx.com/index.php?t...
http://xxx.com/index.php?t...
http://xxx.com/index.php?t...
…
現(xiàn)在我就是要實(shí)現(xiàn)把 index.php?today= 隱藏掉。以下是代碼:
1..htaccess 文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)$ /index.php?today=$1
</IfModule>
粗體字這里我說明一下,其它的按這個(gè)格式吧,具體我現(xiàn)在也不理解。
[0-9]的意思是,參數(shù)只能是0~9這些數(shù)字,如果你要包含任何字符,就改為:
RewriteRule ^(.+)$ /index.php?today=$1
這里[0-9]改為了. ,這個(gè).就代表任意字符。當(dāng)然復(fù)雜的還很復(fù)雜,我們暫時(shí)不管。
2.index.php文件
復(fù)制代碼 代碼如下:
<?php
//rewrite 測(cè)試
$uid =$_REQUEST['today'];
?>
<HTML>
<HEAD>
<TITLE>rewrite 測(cè)試</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080">
今天是<?php echo $today;?>,看看歷史上的今天都發(fā)生了什么事情?<br>
……
</BODY>
</HTML>
這里參數(shù)就會(huì)傳遞給index.php文件里的$today,在這個(gè)程序內(nèi),你就可以根據(jù)參數(shù),進(jìn)行處理,如查詢數(shù)據(jù)庫(kù)啦、做運(yùn)算啦等,然后再顯示相應(yīng)的數(shù)據(jù)出來,就可以了。
實(shí)現(xiàn)方法2
復(fù)制代碼 代碼如下:
<?php
//url示例:soft.php/1,100,8630.html
//利用server變量 取得PATH_INFO信息 該例中為 /1,100,8630.html 也就是執(zhí)行腳本名后面的部分
if(@$path_info =$_SERVER["PATH_INFO"]){
if(preg_match("/\/(\d+),(\d+),(\d+)\.html/si",$path_info,$arr_path)){
$gid =intval($arr_path[1]); //取得值 1
$sid =intval($arr_path[2]); //取得值100
$softid =intval($arr_path[3]); //取得值8630
//相當(dāng)于soft.php?gid=1&sid=100&softid=8630
}else die("Path:Error!");
}else die("Path:Nothing!");
echo($gid);
echo("<br>");
echo($sid);
echo("<br>");
echo($softid);
?>
相關(guān)文章
windows server 2019 關(guān)機(jī)重啟問原因解決方法(關(guān)閉事件跟蹤程序)
最近為了學(xué)習(xí)windows server 2019 服務(wù)器,每次關(guān)閉重啟都要提示,因?yàn)槭莻€(gè)人使用不是當(dāng)服務(wù)器所以還是給取消了,下面就給出具體的解決方法2023-04-04
讓IIS服務(wù)器支持flv,f4v,mp4在線播放(2003,2008)
這篇文章主要介紹了讓IIS服務(wù)器支持flv,f4v,mp4在線播放(2003,2008),需要的朋友可以參考下2016-12-12
詳解CentOS 7 下安裝 Docker 及操作命令的方法
這篇文章主要介紹了CentOS 7 下安裝 Docker 及操作命令的方法,需要的朋友可以參考下2016-10-10
Windows?server?2019?批量創(chuàng)建用戶的詳細(xì)教程
這篇文章主要介紹了Windows?server?2019?批量創(chuàng)建用戶,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
Windows服務(wù)器無法啟用"允許遠(yuǎn)程協(xié)助連接這臺(tái)計(jì)算機(jī)"的解決方法
這篇文章主要介紹了Windows服務(wù)器無法啟用"允許遠(yuǎn)程協(xié)助連接這臺(tái)計(jì)算機(jī)"的解決方法,需要的朋友可以參考下2023-05-05
IIS7.0 運(yùn)行ASP 500錯(cuò)誤 解決方法
剛剛安裝iis7.0后運(yùn)行asp文件會(huì)出現(xiàn)500錯(cuò)誤. 要想顯示錯(cuò)誤提示.就要在IE上去掉 顯示友好 http 錯(cuò)誤信息2010-01-01
Windows安裝MySQL8.0.16 的步驟及出現(xiàn)錯(cuò)誤問題解決方法
現(xiàn)在的mysql8安裝只能采用解壓配置版,像以前老版本的傻瓜式安裝將不復(fù)存在。下面小編給大家?guī)砹私鉀QWindows安裝MySQL8.0.16 步驟及出現(xiàn)錯(cuò)誤問題,感興趣的朋友一起看看吧2019-06-06

