在url中加号(+ literal)用mod_rewrite重写..怎么样?

时间:2011-02-12 14:23:35

标签: mod-rewrite

我正在尝试用mod_rewrite重写一个url。 问题是要重写的url是否包含文字+(加号)符号,这也是我需要从网址获取的变量的分隔符...

当前网址: www.domain.com/page/756/no/Plumbers+London /

我希望将“管道工+伦敦”这一部分改写为:

新网址: domain.com/pages/Plumbers/London /

试过这个,但它不起作用:

RewriteRule页面/(。)/ no /(.)\ +(。*)/ / pages / $ 2 / $ 3 / [R = 301,L]

任何帮助都将受到高度赞赏! 提前谢谢!

1 个答案:

答案 0 :(得分:2)

我会更改分隔符。

这是一个简单的错误。

点(。)单独匹配完整的URI,或者匹配任何单个字符。 尝试将其更改为:

RewriteRule page/(.*)/no/(.*)\+(.*)/ /pages/$2/$3 [R=301,L]

(我的正则表达式有点生疏,但我相信这样做会有所帮助。) 也许使用非贪婪的算子:(。*?)