所有网址都重定向到mod_rewrite错误页面

时间:2016-05-09 14:53:03

标签: apache .htaccess mod-rewrite omeka

我在运行Ubuntu 14.04.4和Apache 2.4的Azure云服务器上有几个平台(domain.com/omeka,domain.com/wordpress,domain.com/omeka-s)。几天前,我尝试安装一个额外的平台,但这样做似乎打破了服务器上的其他所有内容,所以我删除了它并重新安装了Apache。编辑.htaccess文件以删除拼写错误后,一切正常。我离开了周末,今天早上回来工作,一切都再次破裂。

通过破解,我的意思是服务器上的每个URL都重定向到Omeka(domain.com/install)的mod_rewrite安装错误页面。 Omeka已经安装并运行了几个月。需要启用MR才能安装Omeka并正常运行。 MR肯定是启用的。

$ sudo a2enmod rewrite
Module rewrite already enabled

我假设这是/var/www/.htaccess文件或/etc/apache2/apache2.conf文件的问题。这是Omeka默认的相关.htaccess代码:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule !\.php$ - [C]
RewriteRule .* - [L]

RewriteRule ^install/.*$ install/install.php [L]
RewriteRule ^admin/.*$ admin/index.php [L]
RewriteRule .* index.php

这是相关的(?)apache2.conf代码:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

AccessFileName .htaccess

如果我删除了.htaccess文件,或者我只是删除了一些RewriteRules,那么服务器上的所有内容都无法访问(包括Wordpress和Omeka-S)。我显然遗漏了一些东西。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

找出问题所在。非常简单,愚蠢的东西。

问题1:当我重新安装Apache时,/ etc / apache2 / sites-available / 000-default.conf文件将DocumentRoot恢复为/ var / www,当它应该是/ var / www / html时。< / p>

问题2:/ var / www / html / omeka中有一个额外的,几乎相同的.htaccess文件,它有一个拼写错误。在安装/.*$

之前它错过了^

此外,为我设置云服务器的IT部门安装了2个Omeka实例(谁知道原因),一个在/ var / www下,一个在/ var / www / html下,所以整个问题很可能就是如果不是这样的话,我们已经避免(或者至少更容易解决)。