启用在Ubuntu 12.04 htaccess的误差的Apache2 [英] Enable htaccess error on Ubuntu 12.04 with Apache2

查看:203
本文介绍了启用在Ubuntu 12.04 htaccess的误差的Apache2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图让htaccess的。我改变了:

 <目录/var/www/abc.biz/>
    选择了FollowSymLinks指标多视图
    设置AllowOverride无
    订购允许,拒绝
    允许所有
< /目录>
 

要:

 <目录/var/www/abc.biz/>
    选择了FollowSymLinks指标多视图
    设置AllowOverride所有
    订购允许,拒绝
    允许所有
< /目录>
 

但我发现了500(内部服务器)的错误。为什么呢?

下面是我的的/ etc / apache2的/站点可用/默认文件:

 <虚拟主机*:80>
的ServerAdmin admin@abc.biz

DocumentRoot的/var/www/abc.biz
<目录/>
    有FollowSymLinks
    设置AllowOverride无
< /目录>
<目录/var/www/abc.biz/>
    选择了FollowSymLinks指标多视图
    设置AllowOverride无
    订购允许,拒绝
    允许所有
< /目录>

的ScriptAlias​​ / cgi-bin目录/ / usr / lib目录/ cgi-bin目录/
<目录/ usr / lib目录/ cgi-bin目录>
    设置AllowOverride无
    选项​​+ ExecCGI -MultiViews + SymLinksIfOwnerMatch
    订购允许,拒绝
    所有允许
< /目录>

错误日志$ {APACHE_LOG_DIR} /error.log

#可能的值包括:调试,信息,通知,警告,错误,暴击,
#警觉,EMERG。
日志级别警告

的CustomLog $ {APACHE_LOG_DIR} /access.log组合

别名/ DOC /的/ usr /共享/ DOC /
<目录的/ usr /共享/ DOC />
    选择多视图索引了FollowSymLinks
    设置AllowOverride无
    订单拒绝,允许
    所有拒绝
    从127.0.0.0/255.0.0.0允许:: 1/128
< /目录>

< /虚拟主机>
 

解决方案

我想,你需要改变这部分你的/ etc / apache2的/站点可用/默认

 的DocumentRoot /var/www/abc.biz
<目录/>
    有FollowSymLinks
    设置AllowOverride无
< /目录>
<目录/var/www/abc.biz/>
    选择了FollowSymLinks指标多视图
    设置AllowOverride无
    订购允许,拒绝
    允许所有
< /目录>
 

 的DocumentRoot /var/www/abc.biz
<目录/>
    有FollowSymLinks
    设置AllowOverride所有
< /目录>
<目录/var/www/abc.biz/>
    选择了FollowSymLinks指标多视图
    设置AllowOverride所有
    订购允许,拒绝
    允许所有
< /目录>
 

由于在第一个<目录/>所有的AllowOverride 您允许重写设置你的.htaccess文件为整个Apache的,而且还需要在&LT来改变它;目录/var/www/abc.biz/ >所有的AllowOverride 为您的特定主机目录,在您的网站放置。 你也应该检查的.htaccess放在你的/var/www/abc.biz目录中的文件被正确writen,因为当您启用.htaccess文件覆盖全球的Apache设置错误的.htaccess文件会导致这样的错误。

I tried to enable htaccess. I changed:

<Directory /var/www/abc.biz/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

To:

<Directory /var/www/abc.biz/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

But I'm getting 500 (Internal Server) error. Why?

Here is my /etc/apache2/sites-available/default file:

<VirtualHost *:80>
ServerAdmin admin@abc.biz

DocumentRoot /var/www/abc.biz
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/abc.biz/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

解决方案

I think you need to change this part of your /etc/apache2/sites-available/default

DocumentRoot /var/www/abc.biz
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/abc.biz/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

to

DocumentRoot /var/www/abc.biz
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
<Directory /var/www/abc.biz/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

Because at first <Directory /> AllowOverride All you allow to override settings with your .htaccess file for the whole apache, but also you need to change it at <Directory /var/www/abc.biz/> AllowOverride All for your specific host directory, where your web site is placed. Also you should check .htaccess files placed in your /var/www/abc.biz directory to be correctly writen, because when you enable .htaccess files to override global apache settings wrong .htaccess file causes such error.

这篇关于启用在Ubuntu 12.04 htaccess的误差的Apache2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆