我在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
在线此设置正常,但在本地它不是
任何想法? 我真的很困惑!
答案 0 :(得分:0)
您是否未提及是否重新启动了服务器?编辑服务器配置文件需要重启,但我相信.htaccess文件更改不需要apache服务器重启。
答案 1 :(得分:0)
您的服务器doc root是: C:/瓦帕/网络/
您的虚拟主机文档根目录在上面,我认为不允许这样做。
应该是:
C:/瓦帕/虚拟主机/ site1root
C:/瓦帕/虚拟主机/ site2root
等