艺琼网络
臻至美 · 韵天成
建站信息
网站首页
建站资讯
建站技术

.htaccess伪静态突破9个参数限制

浏览:19978人次 发布日期:2018-04-23 来源:艺琼网络

  关于本站原创内容禁止转载的维权通告

通过将RewriteRule拆分并进行连接,可以突破9个传递参数的限制。
  借助.htaccess伪静态组件,我们可以实现很多网页需要的功能,比如URL重写、301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档,其中使用最多的就是URL重写。然而,URL重写指令RewriteRule最多只能携带9个参数,超过9个参数后就无法正常解析。在实际应用中,多于9个参数传递的情况比比皆是,那么,咱们就来研究一下如何突破.htaccess伪静态的9个参数限制。
 
.htaccess伪静态
 
  既然按普通的方式无法实现,那么,可以将代码进行拆分成2行,如下所示:
 
RewriteRule  ^products(.*?)-(.*?)-(.*?)-(.*?)-(.*?)-(.*?)-(.*?)-(.*?)-(.*?).html$  $9&attr1=$1&attr2=$2&attr3=$3&attr4=$4&attr5=$5&attr6=$6&attr7=$7&attr8=$8  [C,NC]
 
RewriteRule ^(.*?)-(.*?)-(.*?)-(.*?)-(.*?)-(.*?)$ products.php?$7&attr9=$1&attr10=$2&attr11=$3&attr12=$4&attr13=$5&attr14=$6 [QSA,L,NC]
 
  需要注意的是,第一行只有9个参数,其中,第9个参数的目的是为了将从第9个起的参数做一个连接并传递给下一行的代码。其中后的C是起到链接其后命令的作用。NC是对大小写不敏感。这样一来,咱们可以用RewriteRule传递更多参数了。
 
  笔者在研究这个问题的时候,走了一些弯路,主要是对链接参数一直没正确理解。程序员朋友可以研究一下上述代码,若有不明白的,欢迎咨询沟通,以便少走一些弯路。
分享
本文由艺琼网络原创,禁止转载、复制、传播,深圳市艺琼网络科技有限公司保留著作权。
您可能感兴趣的内容
联系电话:13824347551 电子邮箱:service@yiqnet.com
深圳市艺琼网络科技有限公司 2007-2025 版权所有 | ICP许可证:粤ICP备14034579号
公司主营:深圳做网站、东莞做外贸网站、惠州网站制作免费上门,为全国各地做网站的企业和个人提供在线一条龙建站服务。
网站制作服务 企业网站建设 外贸网站建设 模板网站建设