Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^page([0-9]+)\.html$ index.php?page=$1
RewriteRule ^(^page)(.*)\.html$ admin.php?name=$2   (无效,想要的是除了page开头都用这规则)

解决方案 »

  1.   

    RewriteRule !^page(.*)\.html$ admin.php?name=$1
      

  2.   

    试试,注意L表示匹配当前规则就忽略以下的所有规则
     RewriteEngine On
     RewriteBase /
     RewriteRule ^page([0-9]+)\.html$ index.php?page=$1 [L]
     RewriteRule ^(?!page)(.*)\.html$ admin.php?name=$1   
      

  3.   

    谢谢,有效。
    为什么我的不行呢?能告诉我吗?
    我在php里用正则测试是OK的
    但是用在RewriteRule就不行了是什么原因?
    能讲解下?!的作用吗?谢谢谢谢了!!!
      

  4.   

    谢谢 有效.但是还是想学习下。首先我那个为什么不行了?用在php里的正则是可以的,为什么在RewriteRule里就不行?
    这个和php正则一样吗?
    !^是个什么意思(RewriteRule专有写法吗?)