我运行XAMPP,我正在努力学习如何运行。htaccess工作正常。我的文件结构如下所示:
/parent
/foo
/bar
.htaccess
我只想将所有foo
请求更改为bar
,并在请求后附加一个GET参数。例如:
foo/
foo/hello.php
变成:
bar/?test=yes
bar/hello.php?test=yes
当我尝试放置
<Directory "/foo">
Options +Indexes
</Directory>
我得到以下错误日志:
[2017年9月19日星期二17:23:58.356362][core:alert][pid 6336:tid 1900][client::1:60018]C:/xampp/htdocs/parent/。htaccess:
我检查了我的httpd。conf文件,一切正常。我肯定,因为如果我改变了文件的内容。htaccess文件只需:
Options -Indexes
它正确地显示403错误。如果我将-
替换为,它将显示目录列表。
您可以在站点根目录(父目录)中使用此规则。htaccess
:
RewriteEngine On
RewriteCond %{QUERY_STRING} !(?:^|&)test=yes(?:&|$) [NC]
RewriteRule ^foo/(.*)$ bar/$1?test=yes [NC,QSA,L]
简单回答:只要删除. htaccess文件,你的error.log问题就会消失。
更长的答案:
今天早些时候,我开始在我的C:\xampp\apache\logs\error.log文件中收到同样的消息。这个错误开始得很突然(在多年毫无问题地使用localhost之后),并且与我试图启动localhost时的“500服务器错误”相吻合。
htcaccess文件(今天第一次出现在我的 /Sites目录中)的内容是:
<Directory>
AllowOverride All
Order allow,deny
</Directory>
正如其他人就类似问题所指出的那样。htcaccess问题,通常不需要该文件。
因此,我只是删除了该条。htcaccess文件,立即解决了问题。localhost立即重新开始工作,错误从日志中消失!