0

我在 htaccess 中有以下内容:

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

在虚拟主机中:
ServerName localhost DocumentRoot "c:/wamp/www" Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from 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 配置中:

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

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

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

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

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

但它似乎需要:

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

代替

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

在线这个设置是有效的,但在本地它不是

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

4

2 回答 2

0

您的服务器文档根目录是:c:/wamp/www/

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

它应该是 :

c:/wamp/vhosts/site1root

c:/wamp/vhosts/site2root

等等

另请参阅:https ://httpd.apache.org/docs/2.2/vhosts/name-based.html

于 2013-02-01T15:27:39.260 回答
0

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

于 2013-02-01T11:37:31.443 回答