如我想把网站根目录下
index.php 改成index.html
info.php?id=5 改成info/5.html求此规则,谢谢。

解决方案 »

  1.   

    RewriteRule ^index\.html$    index\.php [L]RewriteRule ^info/([0-9]+)\.html$       info\.php\?id=$1 [L]
      

  2.   

    请问我在httpd.conf 开了LoadModule rewrite_module libexec/mod_rewrite.so
    然后在最后加了<IfModule mod_rewrite.c>
        RewriteEngine On
    RewriteRule ^index\.html$ index\.php [L]
    RewriteRule ^info/([0-9]+)\.html$ info\.php\?id=$1 [L]
    </IfModule>然后重启apache,还是没有效果,是不是,少了什么配置步骤?
      

  3.   

    那现在是什么效果呢?
    正确的效果是访问index.html和info/5.html时实际访问的是index.php和info.php?id=5
      

  4.   


    有一个链接<a href='info.php?id=5'>www</a>,可以打开,但是地址栏还是http://www.xxx.com/info.php?id=5
    没有变成http://www.xxx.com/info/5.html
      

  5.   

    正确的效果是访问index.html和info/5.html时实际访问的是index.php和info.php?id=5
    重写的作用:服务器上并没有html文件,你地址栏是html,服务器上实际是php在处理也就是说地址栏永远不会“变”,如果你访问http://www.xxx.com/info/5.html的时候显示了http://www.xxx.com/info.php?id=5的结果,那就是正确的,如果配置错误会显示404
      

  6.   

    页面内的链接,你要在程序里改,这个rewrite没关系
    比如首页链接<a href="index.html">首页</a>