mxay


        new mxay : http://www.mxay.com/

July 26, 2007

ReWrite学习笔记(1)

Filed under: php, rewrite, 静态化 — mxay @ 5:09 pm

现在各网站的伪静态化运用越来越多了,这样做的好处就是便于搜索引擎的收入,另外也很美观。

今天我把学习的一点心得记录一下,希望你也容易入门。

首先,你的空间得支持ReWrite,具体的设置我就不说了,上搜索引擎查一下很多的。我这里就讲很简单的入门。

比如,下面,我要实现这样的URL:
http://jintianshi.com/0725
http://jintianshi.com/0726
http://jintianshi.com/0727

上面jintianshi.com是一个记录《今天是》这样的历史内容的一个测试站点。上面链接的意思,就是显示07月25日的历史上发生了什么事情,类似这样。这样看起来就很美观、整齐了。要不然,可能的地址就是:
http://jintianshi.com/index.php?today=0725
http://jintianshi.com/index.php?today=0726
http://jintianshi.com/index.php?today=0727

现在我就是要实现把 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>
 

粗体字这里我说明一下,其它的按这个格式吧,具体我现在也不理解。
[0-9]的意思是,参数只能是0~9这些数字,如果你要包含任何字符,就改为:
RewriteRule ^(.+)$ /index.php?today=$1  

 这里[0-9]改为了. ,这个.就代表任意字符。当然复杂的还很复杂,我们暂时不管。

2.index.php文件
<?php

//rewrite 测试

$uid =$_REQUEST[’today’];

?>

<HTML>

<HEAD>

<TITLE>rewrite 测试</TITLE>

</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080">

今天是<?php echo $today;?>,看看历史上的今天都发生了什么事情?<br>
……

  </BODY>

  </HTML>

这里参数就会传递给index.php文件里的$today,在这个程序内,你就可以根据参数,进行处理,如查询数据库啦、做运算啦等,然后再显示相应的数据出来,就可以了。

具体更深入的应用,我再学习,欢迎大家回帖一起研究交流吧。

1 Comment »

  1. 感谢你的文章,很使用,期待更多的ReWrite学习笔记

    Comment by luojing — October 24, 2007 @ 11:04 pm

RSS feed for comments on this post. TrackBack URI

Leave a comment

Powered by WordPress