如何在Ubuntu上的Apache中启用.htaccess?


15

我试图在Ubuntu 14.04(Apache 2.4.7)中启用htaccess文件的使用。我知道这个问题有很多重复的地方,但是没有一个帮助我。

.htaccess

ErrorDocument 404 /404.html

000-default.conf

<VirtualHost *:80>
AccessFileName .htaccess

ServerAdmin webmaster@localhost
DocumentRoot /var/www

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/>
  Options Indexes FollowSymLinks Includes
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>
</VirtualHost>

还需要什么?


1
AllowOverride All指令允许.htaccess文件中的所有选项。000-default.conf假定服务器上只有一个站点。.htaccess文件不适合您吗?此服务器上托管了多个站点吗?
closetnoc 2014年

/ var / www中有很多文件夹,但是没有创建虚拟主机。/ etc / apache2 / sites-available /文件夹包含两个文件000-default.conf和default-ssl.conf。htaccess文件位于/ var / www /
David ZIP

也许是'DocumentRoot / var / www /'?(斜线)
Kovah 2014年

检查并确保/ etc / apache2 / sites-enabled /包含指向000-default.conf的链接。如果更改/var/www/index.html文件,则在使用Web浏览器查看服务器时可以看到更改,对吗?
Stephen Ostermiller

Answers:


26

第一步

打开文件为

sudo vim /etc/apache2/apache2.conf

第二步

如果在此行之前找到注释符号(#),则将其删除(行号约为187)

AccessFileName .htaccess

第三步

然后找到那条线

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

将“无”替换为“全部”

AllowOverride All

瞧... .htaccess有效!


3
更改直到我重新启动apache才生效:服务apache restart
Tahir Yasin 2015年

1
我建议,就像@TahirYasin提到的那样,重新启动apache。sudo service apache2 restart
www139


1

在我的情况不断变化AllowOverride None,以AllowOverride All/etc/apache2/sites-enabled/000-default.conf帮助。

所有其他.conf文件都已经具有AllowOverride All


0
  1. /etc/apache2/apache2.conf 中,#从中删除注释符号()AccessFileName .htaccess
  2. 您的Apache配置文件的名称不是标准的。您可以在Windows中将其重命名为default.conf,在Linux中将其重命名为default。在基于Linux的OS中,在终端中运行以下代码:

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

它以零开头,因此按字母顺序排在首位。如果您具有default.conf文件,然后为anteater.com创建一个站点,则anteater将成为默认主机,因为它将首先加载。保留000以防止出现此类问题。conf文件的名称与.htaccess是否有效无关。
Stephen Ostermiller

1
'AccessFileName .htaccess'已取消注释。以上答案对我有帮助。谢谢。
David ZIP
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.