我已经写好了伪静态规则,如下:
RewriteRule ^(.*)/-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-(.*)-([0-9]*)-([0-9]*)\.html$ $1/?district=$2&zj=$3&hx=$4&area=$5&price=$6&kw=$7&x=$8&y=$9然后我用这样的链接可以链接过去:
http://localhost/all_sell/-3-2-3-4-2-a---.html
可我要是将a改为 %B3%C7这样的格式,如下
http://localhost/all_sell/-3-2-3-4-2-%B3%C7---.html
就会出现forbidden错误。怎么回事?还请高手来看

解决方案 »

  1.   

    呵呵,你別那麼懶麻,寫規則就要寫全它.
    RewriteRule ^(.*)/-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-(.*)-([0-9]*)-([0-9]*)\.html$ $1/index.php?district=$2&zj=$3&hx=$4&area=$5&price=$6&kw=$7&x=$8&y=$9 這樣你這個問題就解決了.只不過這個規則還有個問題:
    (.*)是匹配全字符,它會連同後面的 - (短橫線)也匹配進去.
    修改一下吧
      

  2.   

    哦哦,數錯橫線RewriteRule ^(.*)/-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-(.*)-([0-9]*)-([0-9]*)\.html$ $1/index.php?district=$2&zj=$3&hx=$4&area=$5&price=$6&kw=$7&x=$8&y=$9 就是這樣,沒錯.
    烏龍了
      

  3.   

    可还是不行,http://localhost/All_sell/-0-----C7--.html这样可以;
                http://localhost/All_sell/-0-----%C7--.html就forbidden了.再给看一下吧
      

  4.   

    %B3%C7 是中文“城”的url编码形式
    而apache默认是不支持中文文件名的,所以就出问题了