O arquivo de configuração padrão para os arquivos que estão sendo servidos pela instalação do Apache é /etc/apache2/sites-enabled/000-default
. É uma boa idéia fazer backup do arquivo original antes de brincar com ele.
Toda vez que você edita esse arquivo, o Apache precisa ser reiniciado / recarregado para que as alterações tenham efeito - sudo service apache2 restart
(ou) sudo service apache2 reload
, enquanto as alterações .htaccess
não exigem que o Apache seja reiniciado. Como o @dobey mencionou, o .htaccess
arquivo entra no DocumentRoot do site.
Para que os .htaccess
arquivos funcionem conforme o esperado, você precisa editar este arquivo:
/etc/apache2/sites-available/default
Procure uma seção parecida com esta:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>
Você precisa modificar a linha que contém AllowOverride None para ler AllowOverride All . Isso indica ao Apache que não há problema em permitir que os .htaccess
arquivos substituam as diretivas anteriores. Você deve recarregar o Apache antes que essa alteração tenha efeito:
sudo /etc/init.d/apache2 reload
2009.12.08 nota: no download LAMP cerca de uma semana atrás, com Ubuntu 9.10 (Karmic), o arquivo de configuração padrão foi /etc/apache2/sites-available/000-default
e incluiu
AllowOverride None
sob <Directory />
além <Directory
/var/www/>
. Além disso, os diretórios que /www/var/
contêm os .htaccess
arquivos padronizados para não dar acesso de leitura ao servidor Apache, resultando no erro do Apache
(13)Permission denied: /var/www/webapp/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable.
Para corrigir, $ sudo nautilus
clique com o botão direito do mouse no diretório com o
.htacces
arquivo s, selecione Propriedades, selecione Permissões e dê ao grupo de usuários que você efetua login com pelo menos permissão de leitura.
Consulte http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride para obter mais informações sobre AllowOverride
.
/etc/apache2/httpd.conf
e é uma boa idéia fazer um backup do arquivo original antes de brincar com ele. Quanto ao.htaccess
arquivo, consulte a resposta de @dobey