mod-rewrite url中的空格问题

时间:2014-02-06 13:25:36

标签: regex apache .htaccess mod-rewrite url-rewriting

RewriteRule ^categories/([A-Za-z0-9\-]+)/?$ /categories.php?c=$1 [QSA,L]

这是我的RewriteRule,它完全处理/ categories / Family等类别,URL也按照我的意愿显示页面。但是对于/ categories / Web%20Design这样的东西,我得到了一个请求的URL /类别/在此服务器上找不到/ Web设计。

这是一个痛苦,我甚至试图在[A-Za-z0-9-]中的9之后使用ReWriteRule中的空格,用重写处理URL中空格的最佳方法是什么?

谢谢大家。

2 个答案:

答案 0 :(得分:4)

通过在角色类中包含空格来使用此规则:

RewriteRule ^categories/([A-Za-z0-9\s-]+)/?$ /categories.php?c=$1 [QSA,L]

答案 1 :(得分:0)

尝试将\s添加到正则表达式中。
那匹配空白。

([A-Za-z0-9\-\s]+)