我在 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
在线这个设置是有效的,但在本地它不是
有任何想法吗 ?我真的很困惑!