RewriteRule area/(.*) listing.PHP?area=$1
但是当我想用%29的时候,但是当我把它改写成如下时,我得到了404错误:
RewriteRule area/something%29/(.*)/ listing.PHP?area=$1
以%29转义%29也无效。
使用htaccess修复拼写错误的url
密码保护Flask应用程序中的一个网页
在apache中检查移动设备并redirect到移动网站
为什么Apache的RewriteRule会显示本地path?
redirect到https和www在Apache中的单一redirect
在重写.htaccess中保留查询string
友好的URL空格连字符和大写字母小写
.htaccess重写规则强制将httpsredirect到http
如何将这个Apache重写转换成Nginx?
Apache% – 在尝试应用重写规则之前解析url路径。 所以你不应该在你的RewriteRule中使用%-encoding。 只要使用正常的字符。
所以在你的情况下,你应该只使用) 。 )但是在正则表达式中是一个特殊的字符,所以你应该通过在前面添加一个斜杠来以RegEx方式逃避那些。 所以它会成为) 。
你的规则应该成为:
RewriteRule area/something)/(.*)/ listing.PHP?area=$1
您要重写的网址无效,因为%29只能在Querystring中允许,而不能在URL中允许。 你需要将%25%(而不是反斜杠)转义出来,所以得到的表达式应该是…%2529 – 这应该起作用。
有关更深入的信息,请查看RFC2396 。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。