url 重写

php论坛  2013-08-04 06:03:16  来源:1  阅读:156

重写后参数的传递(.htaccess重写规则以及参数说明

http://www.aichengxu.com/article/PHP/183_1.html


一个基本的RewriteRule命令中有二个参数。在上面的例子中有三个参数。下面我们详细说说这些参数的含义。

RewriteRule命令的第一个参数是一个正则表达式,描述了想要重写的URL地址的匹配模式。第二个参数说明了目标URL地址。用上面这条重写规则来说,任何匹配模式 ^Products/P([0-9]+).html$ 的URL地址都将重写为 :/Product.php?product_id=$1 。这里的正则表达式豆芽我就不详细介绍了,PHP基础中有很多写正则表达式的。

RewriteRule命令的第二个参数:/Product.php?product_id=$1 通知服务器,如果浏览器发出的URL地址请求能够匹配先前的模式,他将传给那个特定的脚本,而那些数值将替代 $1 变量。

在重写规则的最后,也可以附加一个或多个标记参数(多个用逗号隔开),从而为新的URL地址添加特殊的标志。这些参数也是RewriteRule命令的特殊部分。下面将这些标记罗列如下,供大家参考:

RewriteRule 参数RewriteRule标记      含 义                                          描   述                                                   
RRedirect发出一个HTTP重定向
FForbidden禁止对URL地址的存取
GGone标记URL地址不存在
PProxy将URL地址传递给mod_proxy
LLast停止处理接下来的规则
NNext再次重第一个规则开始处理,但是使用当前重写后的URL地址
CChain将当前的规则和紧随其后的规则链接起来
TType强制执行指明的MIME类
NSNosubreq只在没有任何内部子请求执行时运行本脚本
NCNocaseURL地址匹配对大小写不敏感
QSAQsappend在新的URL地址后附加查询字符串部分,而不是替代
PTPassthrough将重写后的URL地址传递给另一个Apache模块进行进一步处理
SSkip忽略之后的规则
EEnv设置环境变量

分享到:

0条评论网友评论

  • 全部评论
加载更多

飞翔船舶

关于飞翔 | 联系我们 | 新手教程 | 隐私声明 | 经营优势 | 常见问题

Copyright © 2010 - 2012 Tencent. All Rights Reserved  工信部备案号:备案号:ICP备1100256