http://blog.m6699.com/?username=用户名,根本就没有index.php,怎么能够获取啊?

解决方案 »

  1.   

    RewriteRule /([^\.]+) /index.php?username=$1
      

  2.   

    RewriteRule /([^\.]+) /?username=$1 [PT]
      

  3.   

    RewriteRule /([^\.]+)  /?username=$1 [PT]
      

  4.   

    http://blog.m6699.com/?username=用户名  等价于 http://blog.m6699.com/index.php?username=用户名啊
      

  5.   

    这里我应该写一个发生重写的条件RewriteCond
    即只有在请求index.php时才发生重写
    RewriteCond   %{SCRIPT_FILENAME}   ^.*\/index\.php$
    这样可以不?
      

  6.   

    RewriteBase的时候注意一下就OK了
      

  7.   


    RewriteEngine on
     RewriteRule   /user/([0-9]+)  /index.php?userid=$1
    我用以上代码,系统可以辨别出userid=117,但是运行出来页面里的路径都变了,貌似根目录(虚拟主目录)都变成了http://blogs.m6699.com/user/.而正确的因该是http://blog.m6699.com/所以导致所有的路径都是错误的,而数据却是正确的
      

  8.   


        RewriteEngine on
        RewriteCond %{HTTP_HOST} blogs.m6699.com
        RewriteCond %{REQUEST_URI} /?([0-9]+)$
        RewriteRule /([0-9]+) /index.php?userid=$1 上面的代码实现了http://blog.m6699.com/用户ID  等价于 http;//blog.m6699.com/index.php?userid=用户ID
    但是当我取得当前执行的文件是
    basename($PHP_SELF)!=index.php
    而是
    basename($PHP_SELF)==用户ID
    真是纳闷啊!怀疑是不是RewriteCond 语句没写好!望高手帮忙!