我已经安装apache2
然后我启用该mod_rewrite
模块如下:
sudo a2enmod rewrite
启用后,我对这些行感到困惑,我不明白该如何处理它们,据我所知,我要用这些行来做的事情是“找到以下部分,并将 AllowOverride 行从 None 更改为 All。”
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
我的问题是,我找不到包含上述行的文件来编辑。我已经查看过了/etc/apache2/sites-available/
。在那个目录中,我只找到了两个文件:
000-default.conf
default-ssl.conf
在这两个文件中我都找不到需要编辑的上述行。
我编辑了此目录中的文件 /etc/apache2/apache2.conf
,但它仍然不起作用。
我也查看了这个/etc/apache/sites-enabled/default.conf
目录,但是找不到这些行dafault.conf
<Directory /var/www/html>
AllowOverride All
</Directory>
我正在/var/www/html
目录中工作,为什么它会给我 403 禁止错误。
仍然.htaccess
无法运行。它给出了 403 禁止错误。
这是文件夹权限的屏幕截图:
这是 403 禁止错误的屏幕截图:
答案1
编辑/etc/apache2/apache2.conf
而不是/etc/apache2/sites-available/
并按指示编辑。
这是我的:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
答案2
首先,在 Ubuntu 14.04(和 Apache 2.4)中,默认值DocumentRoot
从 更改为/var/www
。/var/www/html
其次,配置已大大简化,因此那些通常默认存在的条目不再出现在新的默认站点配置中。
编辑/etc/apache/sites-enabled/default.conf
,并添加以下行:
<Directory /var/www/html>
AllowOverride All
</Directory>
您出现 403 Forbidden 错误可能是因为您正在/var/www
应该工作的地方工作/var/www/html
。
最后,你不应该启用All
,而是选择你需要的选项并启用只有那些。
答案3
Ubuntu 14.04(和 Apache 2.4)默认 DocumentRoot 从 /var/www 更改为 /var/www/html。
sudo nano /etc/apache2/sites-enabled/000-default.conf
在最后添加这些行
<Directory /var/www/html> AllowOverride All </Directory>
当然 >
sudo service apache2 restart
答案4
Ubuntu 14.04(和 Apache 2.4)默认值DocumentRoot
从 更改/var/www
为/var/www/html
。
sudo nano /etc/apache2/sites-enabled/000-default.conf
在最后添加这些行
<Directory /var/www/html>
AllowOverride All
</Directory>
当然,还要重新启动 apache2 服务
sudo service apache2 restart