要把:
/s/a=1?2&b=3
重写到:
/s.php?url=a=1?2&b=3
求写法。问号出现的位置不定,A是一串很长并且含有未知个问号的值。
NE,QSA什么的都试过了,文档看了N遍,还是写不出来,搞不懂怎么不加个像正则那样的转义符。
不知道谁能解决这个问题……

解决方案 »

  1.   

    不是这样对应的吧 汗!!/s.php?url=a&2&b=3 
      

  2.   

    写规则的话&和?都不会出现,mod_rewrite本来就会自动对特殊字符('%', '$', ';'等)转义为等值的十六进制编码,建议楼上几位弄清楚再回答。RewriteRule ^/s/(.+)$ /s.php?url=$1本来直接这样写就可以了,但如果$1中有问号的话就会截断$1的值,官方文档解释为“在替换字符串串中使用问号,以标明其后的部分应该被重新注入到QUERY_STRING中”,所以才会开贴问这个。哎……CSDN高手越来越少了,真怀念以前。