apache - 从 mod_rewrite 中转义等号、加号和斜杠

标签 apache .htaccess mod-rewrite

我使用 GET 传递一个 base64 编码的参数。转换为 base64 后,我最终得到一个包含斜杠、加号和等号的字符串,这违反了我的 mod_rewrite 规则。我的 mod_rewrite 规则是

RewriteEngine  on
RewriteRule ^page/(\w+)$  page.php?code=$1

代码参数为base64。有没有办法自动转义这些字符?

最佳答案

尝试使用[B]标志,但我也不确定

RewriteRule ^page/(\w+)$  page.php?code=$1 [B]

The [B] flag instructs RewriteRule to escape non-alphanumeric characters before applying the transformation.

http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_b

关于apache - 从 mod_rewrite 中转义等号、加号和斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39240774/

相关文章:

apache - 在 .htaccess 文件中使用条件和变量

apache - 具有多个域的服务器上的 Nginx 负载均衡

regex - 使用 htaccess 将路径目录附加到 url

Apache:在带有 AllowOverride None 的 conf 中包含 htaccess,性能更好?

php - 将多个查询字符串转换为 php 中的 seo 友好 url

regex - url 中存在空格的 mod 重写问题

regex - Apache RegEx 重定向无法正常工作

apache - 在 perl php 中通过 ssh 命令重新启动 apache 服务器

php - .htaccess:如何保持相同的 URL,但在服务器上显示不同的页面

.htaccess 重写为强制末尾斜杠