使用Apache2在Ubuntu 12.04上启用htaccess错误

Thu*_*yen 6 .htaccess apache2

我试着启用htaccess.我变了:

<Directory /var/www/abc.biz/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

至:

<Directory /var/www/abc.biz/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)

但我得到500(内部服务器)错误.为什么?

这是我的/etc/apache2/sites-available/default档案:

<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>
Run Code Online (Sandbox Code Playgroud)

Mik*_*oot 5

我认为您需要更改/ 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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

因为首先<Directory /> AllowOverride All您允许使用.htaccess文件覆盖整个apache的设置,但是您还需要<Directory /var/www/abc.biz/> AllowOverride All针对放置网站的特定主机目录更改它.此外,您应该检查放在/var/www/abc.biz目录中的.htaccess文件是否正确写入,因为当您启用.htaccess文件以覆盖全局apache设置时,错误.htaccess文件会导致此类错误.

  • 在ubuntu 13.10中,它是/etc/apache2/sites-available/000-default.conf! (2认同)