当前位置: 首页>>技术问答>>正文


如何在Apache中启用mod_rewrite?

,

问题描述

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

重定向不适合我。我不知道如何解决它。谁能帮我?

最佳解决办法

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

sudo a2enmod rewrite

您需要重新启动Web服务器才能应用更改:

sudo service apache2 restart

如果您计划在.htaccess文件中使用mod_rewrite,则还需要通过将AllowOverride None更改为AllowOverride FileInfo来启用.htaccess文件。对于默认网站,请编辑/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。

次佳解决办法

我敢于在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服务器根目录更改为旧的/www,则需要更改open 000-default.conf并更改

DocumentRoot /var/www/html/

DocumentRoot /var/www/

然后脱离它应该是

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/301.html,未经允许,请勿转载。