名站导航为爱好php程序的朋友们提供php相关的教程知识。
php启动apache模块rewrite实现伪静态r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
使用Apache的rewrite技术r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
做PhP程序项目中需要用到URL重定向技术,基本上的需求就是把比如 /user/heiyeluren 重定向到 /user.php?uid=heiyeluren 之类的URL上,当然,你也可以把 /article/200707291011.html重定向到 /article.php?id=200507291011 之类的,模拟好像是静态页面,能够隐藏URL真实地址,有助于雨鞋基本的安全防范等等。那么好像rewrite是个很好的解决办法。r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
要在Apache里运行rewrite的话,必须先安装mod_rewrite的组件,就是一个mod_rewrite.c文件,然后必须在./configure的时候要放上mod_rewrite就能安装。r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
一般配置rewrite的话,可以在httpd.conf里面配置,也能在网页当前目录的.htaccess文件里进行定义来决定重定向去那个文件,那样的话,就非常具有灵活性了,同样也能够适合虚拟主机用户来做。r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
我们看一个.htaccess文件的例子:r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
1 <IfModule mod_rewrite.c>r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
2 RewriteEngine Onr6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
3 RewriteBase /r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
4 RewriteCond %{REQUEST_FILENAME} -f [OR]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
5 RewriteCond %{REQUEST_FILENAME} -dr6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
6 RewriteRule ^.*$ - [S=42]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
7 r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
8 #RewriteRule ^share/$ /share.php [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
9 RewriteRule ^tag/([^/] )/?$ /user_tags.php?tag=$1 [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
10 RewriteRule ^city/([^/] )/?$ /user_city.php?tag=$1 [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
11 #RewriteRule ^([^/] )/day/([^/] )/?$ /user_share.php?id=$1&s=1&selTime=$2 [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
12 #RewriteRule ^([^/] )/day/([^/] )/?$ /user_share.php?id=$1&s=1&selTime=$2 [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
13 r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
14 RewriteRule ^([^/] )/day/([^/] )/?$ /user_share.php?id=$1&s=1&selTime=$2 [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
15 RewriteRule ^([^/] )/week/([^/] )/?$ /user_share.php?id=$1&s=2&selTime=$2 [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
16 RewRiteRule ^([^/] )/month/([^/] )/?$ /user_share.php?id=$1&s=3&selTime=$2 [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
17 r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
18 RewriteRule ^([^/] )/day/?$ /user_share.php?id=$1&s=1 [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
19 RewriteRule ^([^/] )/week/?$ /user_share.php?id=$1&s=2 [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
20 RewriteRule ^([^/] )/month/?$ /user_share.php?id=$1&s=3 [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
21 r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
22 RewriteRule ^([^/] )/?$ /user_share.php?id=$1 [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
23 </IfModule>r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
比较长吧,我们就简单关注一下关键的内容。<IfModule></IfModule>之间就是定义的内容,RewriteEngine就是确定是否运行URL重写功能,RewriteBase就是基本的路径是什么,最关键的就是下面的RewriteRule,www.mzdh.net 就是我们需要重写的规则了,这里应用了兼容Perl规则的正则表达式:r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
Text:r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
. 匹配任意单个字符r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
[chars] 匹配当前字符r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
[^chars] 不匹配当前字符r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
text1|text2 包含text1或者text2任何一个r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
Quantifiers:r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
? 零个或者一个?号前的字符r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
* 零个或者任意个任意长度的任意字符r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
一个或者任意个任意长度的字符r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
Grouping:r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
(text) Grouping of textr6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
(either to set the borders of an alternative orr6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
for making backreferences where the Nth group can r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
be used on the RhS of a RewriteRule with $N)r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
Anchors:r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
^ 匹配内容开始标记r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
$ 匹配内容结束标记r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
Escaping:r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
\char 使用\来进行特殊字符的转义,包括".[]()"等字符的转义 r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
基本规则如上,比如下面的正则表达式:^/([^/] )/~([^/] )/(.*)$ 就是能够匹配象 /Language/~ Realname/.../File 这样的路径。r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
那么从这个角度去看上面的内容就比较容易理解了。我们简单看一下RewriteRule指令的规则:r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
RewriteRule 访问的路径 需要指向的真实路径r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
这样就很清楚了,比如说我要把/user/heiyeluren重定向到/user.php?uid=heiyeluren那么我的规则就必须这样:r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
RewriteRule ^user/([^/] )$ ^/user.php?uid=$2 [QSA,L]r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
举一反三,就很容易理解规则如何去写,也就能够理解上面规则脚本的内容了。r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
名站网址导航
使用php开发你必须得注意的要点r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
技术平台的不同,导致了实现方式的不同,同样是PhP程序,小公司往往选择的是WIN平台而大公司选择的是类unix平台(Linux,FreeBSD and Other) ,最近这段时间正在学习PhP程序,总结下,希望对大家有用.r6FAIChat_企业网址导航_网址分类目录_企业黄页网址提交查询专业网站!
好了关于php程序的知识就说到这里希望可以帮助需要的朋友。,伪静态