启用 .htaccess 时,ubuntu 返回 500 错误

Posted

技术标签:

【中文标题】启用 .htaccess 时,ubuntu 返回 500 错误【英文标题】:ubuntu returns 500 error when .htaccess enabled 【发布时间】:2011-03-21 06:17:29 【问题描述】:

我目前正在将 dev magento 构建移动到我在 ubuntu 上的实时测试子域并使用 Easy Hosting Control Panel (EHCP)。

如果我将 .htaccess 文件重命名为 .htaccess 并刷新我的子域 url,我会收到内部服务器错误 500。如果我将 .htaccess 文件重命名为 .htaccess.bak 并刷新,子域会显示我的 magento 存储正常.但是,如果我尝试导航,因为 index.php 没有在 .htaccess 文件中删除,除非我在我的根 url 和我正在导航到的实际页面/目录之间插入 index.php,否则我的所有链接都已失效。

我尝试将 /etc/apache2/sites-available/000-default 和 /etc/apache2/sites-available/default 文件改为 AllowOverride All:

<VirtualHost *>

    DocumentRoot /var/www
    <Directory />
            Options FollowSymLinks
            AllowOverride All
    </Directory>

    <Directory /var/www/vhosts/>
            Options -Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order Allow,Deny
            Allow from All
    </Directory>

    <FilesMatch "access_log|error_log">
            Deny from All
    </FilesMatch>

    ErrorLog /var/log/apache2/error.log
    LogLevel debug
    CustomLog /var/log/apache2/access.log combineddefault

但是在任一文件或两者中更改它,然后重新启用 .htaccess 文件仍然会给我 500 错误。

我在这里做错了什么?我应该将模组重写信息放在其他地方吗?

谢谢!

【问题讨论】:

您的主机是否支持所有这些指令?你的主机支持.htaccess 吗?还要检查您的错误日志。它可能有一些有用的信息。 【参考方案1】:

我知道这有点死,但是对于那些有这个问题的人来说,检查你的 /etc/apache2/mods-enabled 看看是否有 rewrite.load 如果不尝试从 /etc/apache2/mods-available 复制它为我解决了问题的文件夹。您还必须为此启用 .htaccess 覆盖

【讨论】:

【参考方案2】:

是否有可用的规则? 可能apache被禁用了rewrite mod,你可以尝试启用。

键入“a2enmod rewrite”以打开。

【讨论】:

是的,已经试过了...我放弃设置并返回到 mediatemple 上的非 ve 服务器

以上是关于启用 .htaccess 时,ubuntu 返回 500 错误的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu htaccess 不工作

apache 2.2 (ubuntu) 不允许我通过.htaccess 设置php 错误报告?

通过在 .htaccess 中启用 gzip 来提高 magento 速度

.htaccess文件得用途

通过 .htaccess 启用 PHP 短打开标签

php htaccess 忽略重复源无法启用