如何在 ubuntu 上的 LAMP 中启用 mod_rewrite?

2021-12-21 00:00:00 ubuntu ubuntu-12.04 php mod-rewrite lamp

我在我的机器上使用 Ubuntu 12.04 LTS linux.我已经在上面安装了 LAMP.现在我想启用 mod_rewrite 模块.我做了很多谷歌并尝试了很多技巧,但无法启用 mod_rewrite.谁能帮我启用 mod_rewrite?提前致谢.

I'm using Ubuntu 12.04 LTS linux on my machine. I've already installed LAMP on it. Now I want to enable the mod_rewrite module. I did google a lot and tried lots of tricks but couldn't be able to enable mod_rewrite. Can anyone help me to enable the mod_rewrite? Thanks in advance.

推荐答案

TL;DR version -- 在你的终端中执行以下操作:

TL;DR version -- do the following in your terminal:

sudo a2enmod rewrite && sudo service apache2 restart

有解释——在你的终端中执行以下操作:

With explanations -- do the following in your terminal:

ls -l /etc/apache2/mods-available/rewrite.load    ///if it prints out rewrite.load, it's there and ready to go

sudo a2enmod rewrite   //enables the mod

ls -l /etc/apache2/mods-enabled/rewrite.load // shows created symlink

sudo vi /etc/apache2/sites-available/default   //opens the file in vi (you can also use vim or nano)

根据需要将出现的AllowOverride None"替换为AllowOverride all"

Replace occurrences of "AllowOverride None" with "AllowOverride all" as necessary

sudo service apache2 restart    ///restarts apache

在/etc/apache2/sites-available 中编辑您的虚拟主机条目并将 AllowOverride All 添加到 DocumentRoot.您的虚拟主机最终应如下所示:

Edit your virtual host entry in /etc/apache2/sites-available and add AllowOverride All to the DocumentRoot. Your virtual host should ultimately look something like this:

<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /var/www/vhosts/example.com
  <Directory /var/www/vhosts/example.com>
    AllowOverride all
  </Directory>
</VirtualHost>

虽然这不适合生产环境,但它适用于本地开发.

Although this isn't suitable for production environments, it works just fine for local development.

相关文章