繁体   English   中英

apache服务器上的500错误-“此处不允许AllowOverride”

[英]500 Error on apache server - “AllowOverride not allowed here”

我已经在Mac(OSX 10.9)上设置了服务器,但它在错误日志中返回500错误并显示以下消息……

[alert] [client ::1] /Users/user/Sites/mysite/.htaccess: AllowOverride not allowed here

这是我的.htaccess文件中的代码

Options +FollowSymLinks -MultiViews
AllowOverride All

# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteMap lc int:toLower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^i/(.*)/(.*)-(.*)$ /items/?id=$1&range=$2&type=$3 [L,QSA,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^c/(.*)$ /category/?menu=$1 [L,QSA,NC]

这是相关的httpd.conf代码(让我知道是否还有其他有用的方法)

DocumentRoot "/Users/user/Sites/mysite"

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
</Directory>

<Directory "/Users/user/Sites/mysite">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

有任何想法吗?

AllowOverride All不属于htaccess文件。 在服务器配置(httpd.conf)中使用它来设置htaccess文件可以覆盖的服务器配置参数。 因此很显然,能够配置htaccess文件中哪些参数可以覆盖htaccess文件是错误的。

从您的htaccess文件中删除它。 您已经在正确的位置httpd.conf中定义了AllowOverride All

AllowOverride控制.htaccess-security和-behaviour,因此无法在.htaccess文件中设置。

从.htaccess中删除“ AllowOverride All”,仅此而已。

从您的.htaccess中删除AllowOverride All。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM