RewriteRule ^rank/([a-zA-Z0-9\-\(\)]+)$ rank.php?k=$1
RewriteRule ^state/([a-zA-Z0-9\-\(\)]+)$ state.php?id=$1
RewriteRule ^en/([a-zA-Z0-9\-\(\)]+)$ school.php?id=$1&lng=en
最后一条可以正确重写,第一和第二条不行,为什么?写法不是一样吗?要怎么样才可以?

解决方案 »

  1.   

    崩馈啊,这些都是写在一个.htaccess文件里面,我干脆把.htaccess删除测试,
    RewriteRule ^en/([a-zA-Z0-9\-\(\)]+)$ school.php?id=$1&lng=en
    本来正常的这条就出现网页无法显示,RewriteRule ^rank/([a-zA-Z0-9\-\(\)]+)$ rank.php?k=$1
    RewriteRule ^state/([a-zA-Z0-9\-\(\)]+)$ state.php?id=$1
    这两条我用rank/abc和state/abc竞然还能打开rank.php和state.php网页,只是读不到参数,跟本不受.htaccess影响,跟没删除一样
      

  2.   

    网站里面没有en和rank和state这三个目录的
      

  3.   

    http://www.abc.com/rank/a/a/ac/d/g/asdeerswdtdas.php
    我这样乱打网址都能访问http://www.abc.com/rank.php这个网页,见鬼了,.htaccess都已经删除