允许htaccess url中的空格和其他特殊字符重写

时间:2015-06-16 11:07:17

标签: php regex apache .htaccess mod-rewrite

大家好我有这个网址:orderprod_cntr/147/ok2%20-%20val1%20val2%20val3%20val4

当我打开此网址时,我收到404错误。

我目前使用的htaccess规则是:

RewriteRule orderprod_cntr/([-\w]+)/([-\w]+)/?$   controller/orderprod_cntr.php?id1=$1&id2=$2 [L]

由于网址中的%20导致错误,但没有正常工作。 请告诉我用于上述网址的正确规则。 感谢

2 个答案:

答案 0 :(得分:0)

基于How to redirect %20 or White space automatically to + or - with htaccess?我建议:

RewriteRule orderprod_cntr/((-|\w|%20)+)/((-|\w|%20)+) controller/orderprod_cntr.php?id1=$1&id2=$4 [L]

答案 1 :(得分:0)

你可以像这样调整你的正则表达式:

RewriteRule orderprod_cntr/([^/]+)/([^/]+)/?$ controller/orderprod_cntr.php?id1=$1&id2=$2 [L,QSA]