如何处理.htaccess规则中的特殊字符?

在我的.htaccess文件中,我定义了下面的规则,

RewriteRule t/([^.]+)/$ /videos/tag.php?tag=$1 [QSA] 

如果我浏览http://example.com/videos/t/world+news/http://example.com/videos/t/events/ ,上述规则可以正常工作

但是当我浏览http://example.com/videos/t/business+%26+world/ (这里的原始标签是:企业和世界),然后在我的查询stringtagvariables我只获得业务。 当我通过$_GET['tag']获取可变数据时'&world'

任何人都可以请告诉上述规则的问题在哪里?

尝试B标志逃避反向:

 RewriteRule ^t/([^.]+)/$ /videos/tag.php?tag=$1 [B,QSA] 

编辑这个如何:

 RewriteRule ^([^&]*)&(.*)/$ $1\%26$2 [N,NE] RewriteRule ^t/([^.]+)/$ /videos/tag.php?tag=$1 [QSA] 

第一条规则是用%26替换&