3

当我在 mod_rewrite 正则表达式中包含百分号 (%) 时,我的服务器不断抛出 404 错误。我到处搜索都无济于事。我正在运行 apache 2.4.4 并尝试了如下所示的 B 标志。

RewriteRule ^pages/([a-zA-Z]+)/([a-zA-Z+%'"]+)$ pages/$1.php?search=$2 [B]

因此,当我访问 pages/animals/cats%20and%20dogs 时,它会失败。但是当我([a-zA-Z+%'"]+)改为(.*)

正则表达式级别 = 蹒跚学步,因此非常感谢任何帮助。

4

1 回答 1

2

%20\s在 mod_rewrite 中使用 (space)匹配。因此,将您的规则更改为:

RewriteRule ^pages/([a-zA-Z]+)/([a-zA-Z+\W'"]+)$ pages/$1.php?search=$2 [B,L]
于 2013-10-07T14:44:34.103 回答