我的Regex / htaccess语法是否正确?

时间:2012-06-08 21:25:41

标签: regex .htaccess mod-rewrite

我终于决定深入研究正则表达式的精彩世界。

基本上我的目标是

浏览器发送

http://example.com/search/Bombay

Apache转换为

http://example.com/search/?city=Bombay 

我的规则尝试是:

RewriteRule ^search/([^/.]+)/?$ search/?city=$1

这是正确的方法吗?有没有什么好地方可以了解更多关于Regex的信息?

提前致谢

1 个答案:

答案 0 :(得分:1)

你试图在那个正则表达式中匹配太多。我会去

RewriteRule ^search/([^/]+)/?$ search/?city=$1 [NC,L]

另请注意,我添加了NC非区分大小写的标记和L最后一个标记,这意味着如果用户以混合或大写形式键入URL,那么它仍然会匹配一旦匹配,它将停止访问htaccess文件并使用您当前匹配的内容。

尝试在http://www.regular-expressions.info/了解它们,或者获得一本不错的书。

你也应该在发布之前尝试这些事情。