我正在尝试重写一个包含&的网址。符号。我试过用&和%26,但两者都被apache剥夺了。
例如,如果网址为:
healthyliving/fruit/apples_&_pears
并且重写者是:
RewriteRule ^healthyliving/fruit/([^/.]+)$ food.php?subpage=healthyliving&item=$1 [QSA,L]
查询字符串会显示“apples_& pears”,但_GET['item']
会显示“apples ”。
根据我的阅读,大多数解决方案都使用B标志来逃避反向引用。这个标志在2.2.7中引入。不幸的是我们运行的是早期版本,由于各种原因我们现在无法升级。
有没有办法在不使用B标志的情况下实现我的需要?
答案 0 :(得分:0)
我不完全确定你用$ _GET想要完成什么,但你可以试试这个
RewriteRule ^healthyliving/fruit/(.*)_&_(.*) food.php?subpage=healthyliving&item[]=$1&item[]=$2 [QSA,L]
哪个应该给你:
Array ( [subpage] => healthyliving [item] => Array ( [0] => apples [1] => pears ) )