提问者:小点点

Apache. htaccess<这里不允许目录


我运行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错误。如果我将-替换为,它将显示目录列表。


共3个答案

匿名用户

您可以在站点根目录(父目录)中使用此规则。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立即重新开始工作,错误从日志中消失!