本帖最后由 kyzy_yy_pm 于 2010-09-18 11:41:42 编辑

解决方案 »

  1.   

    这个应该是循环了^(.*)$一直能匹配,,,不知道 [QSA,L]能否终止
      

  2.   

    http://domain/a   => http://domain/a.php
    http://domain/a.php => http://domain/a.php.php
    ……
      

  3.   

    第二种情况不会出现,因为我测试的时候一直是没有后缀名的,如:http://domain/a这种形式的
      

  4.   

    测试   a.php 打印 $_GETRewriteRule ^(.*)$ a\.php?$1 [L]http://domain/a     =>  打印出的,不是预期的 a,你可以试试我觉得问题在于   a  => a.php  而a.php 又可以被 ^(.*)$ 再次匹配
    ==================================
    如果可以肯定,匹配的$1不带.的,可以如下,应该不会出错
    RewriteRule ^([^\.]*)$ $1\.php
      

  5.   

    答案完全正确,不过又个地方不是很明白[^\.]*匹配没有“.”的字符串,但是http://domain/a中没有“.”啊