首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >htaccess重写规则接受参数中的%个字符

htaccess重写规则接受参数中的%个字符
EN

Stack Overflow用户
提问于 2012-02-20 16:58:35
回答 2查看 1.5K关注 0票数 0

我正在创建一个重写规则,它应该包括一个可以包含字符%的参数,但是当我将它添加到我的规则中时,它会破坏我的网站,并且每个页面都会返回一个错误:

代码语言:javascript
复制
RewriteRule ^sale/([a-zA-Z0-9_-%]+)$ browse.php?id=$1

我希望参数能够包含字符、数字0到9以及特殊字符-_%

如果我删除%,它可以正常工作,但显然我希望将其作为字符接受,例如url:

http://www.websitename.com/sale/test%20parameter

EN

回答 2

Stack Overflow用户

发布于 2012-02-20 21:03:16

Apache在将url提供给mod_rewrite之前会对url中的百分比编码字符进行转换。所以如果你想在你的RewriteRule中接受%20,你只需要在你的urls中添加一个空格。但是请注意,空格也是为了分隔RewriteRule中的正则表达式和替换字符串,因此在空格的情况下,您需要使用\对其进行转义

票数 2
EN

Stack Overflow用户

发布于 2012-02-20 18:05:20

您可以使用B flag http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_b

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9358382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档