使用重写规则将“/”转换为“-”

使用重写规则将“/”转换为“-”

我的服务器中有以下重写规则:

RewriteEngine On
RewriteBase /
RewriteCond $1 !^(index\.php|static)
RewriteRule ^(.*)$ /index.php?$1 [L]

它的主要目的是将请求到服务器的每个文件夹转换为参数。例如,请求 example.com/foo fighters 会转换为 example.com/index.php?foo fighters。

很酷吧?不过,还有一个问题。如果有人输入,例如 AC/DC,由于多了一个斜线。有没有办法把 / 改写为 -,使其与当前的重写规则一起工作?

答案1

使用 B 标志对参数进行 url 编码。

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

相关内容