启用 .htaccess 文件重写路径(不起作用)

启用 .htaccess 文件重写路径(不起作用)

所有教程都告诉我要编辑:/etc/apache2/sites-available/default但这个文件对我来说不存在。在这个文件中,我必须编辑:

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
#AllowOverride All
#AllowOverride AuthConfig FileInfo Indexes Limit Options=All, MultiViews        
Order allow,deny
allow from all </Directory>

该文件应该是什么样子的?我应该自己创建它吗?

另外我确实有一个000-default.conf文件,但上面的“代码”也不在其中。

答案1

对于 Apache 2.4 及更高版本,您必须访问

/etc/apache2/apache2.conf

您必须编辑该文件(您应该具有 root 权限)。像这样更改目录文本;

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

现在重新启动 apache。

service apache2 restart

希望它有效。

答案2

从 Ubuntu 14.04(和 Apache 2.4)开始,默认的 DocumentRoot 已从 更改/var/www/var/www/html

首先启用 a2enmod 并重新启动 Apache。

sudo a2enmod rewrite 

然后编辑000-default.conf文件

sudo nano /etc/apache2/sites-enabled/000-default.conf

并在最后添加以下几行

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

最后,重新启动Apache以使配置生效。

sudo service apache2 restart

答案3

如果你不想在每次升级/更新时重复相同的配置

最好的方法是:

编辑或创建配置文件

/etc/apache2/conf-available/httpd.conf

添加

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

启用配置文件

sudo a2enconf httpd

重新启动或重新加载 Apache

sudo service apache2 restart

或者

sudo service apache2 reload

完成!

相关内容