.htaccess重写未被阅读

时间:2013-02-01 11:34:06

标签: apache .htaccess mod-rewrite

我在htaccess中有以下内容:

  RewriteEngine on          
  RewriteRule ^list/([A-Za-z0-9_\.-]+).html?$ list.php?table=$1 [QSA,L]

在虚拟主机中:             
                ServerName localhost                 DocumentRoot“c:/ wamp / www”                                      选项索引FollowSymLinks MultiViews                     AllowOverride All                     订单允许,拒绝                     允许所有人                              

        <VirtualHost *:80>    
            DocumentRoot "c:/wamp/www/kurz/site/www"
            ServerName kurz.local
            <Directory c:/wamp/www/kurz/site/www>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
            </Directory>
        </VirtualHost>

在apache config中:

        DocumentRoot "c:/wamp/www/"
        <Directory />
            Options FollowSymLinks
            AllowOverride All
            Order deny,allow
            Deny from all
        </Directory>

现在奇怪的问题是: 有一个重写正在发生,即使我删除.htaccess后,我也尝试删除www文件夹中的所有其他网站,但仍然有一个重写发生在某处(做这些东西缓存?我尝试清除浏览器缓存和所有这些),

BUT

如果我在.htaccess中添加一些乱码,我会收到服务器错误,所以我知道它正在被读取!

另一个问题是重写没有传递任何变量, 这个链接有效:

http://kurz.local/admin/list/pages.html

但它似乎需要:

http://kurz.local/admin/list.php

而不是

http://kurz.local/admin/list.php?table=pages

在线此设置正常,但在本地它不是

任何想法? 我真的很困惑!

2 个答案:

答案 0 :(得分:0)

您是否未提及是否重新启动了服务器?编辑服务器配置文件需要重启,但我相信.htaccess文件更改不需要apache服务器重启。

答案 1 :(得分:0)

您的服务器doc root是: C:/瓦帕/网络/

您的虚拟主机文档根目录在上面,我认为不允许这样做。

应该是:

C:/瓦帕/虚拟主机/ site1root

C:/瓦帕/虚拟主机/ site2root

另见:https://httpd.apache.org/docs/2.2/vhosts/name-based.html