一下是我写的步骤:1.使apache支持了mod_rewrite
LoadModule setenvif_module modules/mod_setenvif.so//取消了注释
2.使apache也支持.htaccess文件
<Directory />
    Options FollowSymLinks
    AllowOverride All //改none为all
    Order deny,allow
    Deny from all
</Directory>
3.建立了.htaccess
//以这个为例
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$ index.php?ac=$1&id=$2
</IfModule>index.php文件中写的是:
<?php
echo ‘你的Action是:’ . $_GET['action'];
echo ‘<br/>’;
echo ‘你的ID是:’ . $_GET['id'];
?>
那我在地址栏里面输入test-3.html时,应该输出:
你的Action是:test
你的ID是:3 
可是却什么都不输出。在步骤2中要是把那几行注释掉的话,就显示,一旦取消注释,就又不显示了,按理说应该是没有注释才对吧,
请问各位应该怎么操作呀?

解决方案 »

  1.   

    1、
    APACHE2里的HTTPD。CONF里重写模块是:
    LoadModule rewrite_module modules/mod_rewrite.so
    而非
    LoadModule setenvif_module modules/mod_setenvif.so//取消了注释
    2.
    使apache也支持.htaccess文件
    修改为:红体部分
    <Directory />
      Options FollowSymLinks
      AllowOverride All //改none为all
      Order deny,allow
      Allow from all
    </Directory>
    3、
    字面上看index.php?ac=$1&id=$2
    这里用了ac,下面哪来的action呢?
    $_GET['ac']才对