2

我正在尝试重写包含 & 符号的 url。我尝试过使用 & 和 %26,但都被 apache 剥离了。

例如,如果 url 是:

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 标志的情况下实现我的需要?

4

1 回答 1

0

我不完全确定你想用 $_GET 完成什么,但你可以试试这个

RewriteRule ^healthyliving/fruit/(.*)_&_(.*) food.php?subpage=healthyliving&item[]=$1&item[]=$2 [QSA,L]

哪个应该给你:

Array ( [subpage] => healthyliving [item] => Array ( [0] => apples [1] => pears ) ) 
于 2014-07-08T14:33:00.223 回答