重写规则 500 错误问题正则表达式



谁能告诉我为什么这个重写规则会给我带来问题?

RewriteRule ^used-trucks/equipment/all/([^ ]*)-([^ .]*)/(.*)? /inventory/?cat=equipment&make=$1%20$2 [R=301,L]

对此相当陌生,我希望我有一些像这样的变量

 used-trucks/equipment/all/allis-chalmers/0012001

具体说来

allis-chalmers

我想将它们转换为这个

 allis%20chalmers

所以他们通过 reg ex 变量会做同样的事情

 /inventory/?cat=equipment&make=allis%20chalmers

所以他们在重定向中转换得很好

任何帮助将得到赞赏! 谢谢=)

你需要逃离你的空间。Apache在如何解析其指令方面不是很聪明,所以当它看到一个空格时,即使它在正则表达式中,它也将其用作参数之间的分隔符。

尝试:

RewriteRule ^used-trucks/equipment/all/([^ ]*)-([^ .]*)/(.*)? /inventory/?cat=equipment&make=$1%20$2 [R=301,L]

最新更新