如何在 Apache 中启用 mod_rewrite?

如何在 Apache 中启用 mod_rewrite?

我刚刚在我的 Ubuntu 系统上安装了 LAMP 堆栈。

重定向对我来说不起作用。我不知道如何修复它。有人能帮助我吗?

答案1

要启用重写模块,请运行“apache2 enable module rewrite”:

sudo a2enmod rewrite

您需要重新启动网络服务器以应用更改:

sudo service apache2 restart

如果你计划在文件中使用 mod_rewrite ,你还需要通过更改为 来启用文件.htaccess的使用。对于默认网站,请编辑:.htaccessAllowOverride NoneAllowOverride FileInfo/etc/apache2/sites-available/default

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # changed from None to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>

这样的改变之后,需要再次重新启动Apache。

答案2

我敢于添加一个特别的答案(作为上面精彩答案的后续)关于Ubuntu 14.04.htaccess

在14.04中,默认配置文件的名称更改为000-default.conf

sudo gedit /etc/apache2/sites-available/000-default.conf

将以下内容添加到文件末尾:

<Directory "/var/www/html">
    AllowOverride All
</Directory>

由于某种原因,在 Ubuntu 14.04 和 apache2 中,根目录设置为/www/html。如果你想将 Web 服务器根目录改回原来的/wwwopen 000-default.conf并更改

DocumentRoot /var/www/html/

DocumentRoot /var/www/

那么当然应该是

<Directory "/var/www">
    AllowOverride All
</Directory>

相关内容