Domyślny plik konfiguracyjny dla plików obsługiwanych przez instalację Apache to /etc/apache2/sites-enabled/000-default
. Dobrze jest wykonać kopię zapasową oryginalnego pliku przed rozpoczęciem zabawy z tym plikiem.
Za każdym razem, gdy edytujesz ten plik, Apache musi być restartowany / ponownie ładowany, aby zmiany odniosły skutek - sudo service apache2 restart
(lub) sudo service apache2 reload
, podczas gdy zmiany w .htaccess
nie wymagają restartowania Apache. Jak wspomniano w @dobey, .htaccess
plik trafia do DocumentRoot strony internetowej.
Aby .htaccess
pliki działały zgodnie z oczekiwaniami, musisz edytować ten plik:
/etc/apache2/sites-available/default
Poszukaj sekcji, która wygląda następująco:
<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>
Musisz zmodyfikować wiersz zawierający AllowOverride None, aby odczytać AllowOverride All . To mówi Apache, że zezwala się, aby .htaccess
pliki zastępowały poprzednie dyrektywy. Musisz ponownie załadować Apache, zanim ta zmiana zadziała:
sudo /etc/init.d/apache2 reload
Uwaga 2009.12.08: w pobranym LAMP około tydzień temu z Ubuntu 9.10 (Karmic) domyślnym plikiem konfiguracyjnym był /etc/apache2/sites-available/000-default
i został dołączony
AllowOverride None
jako <Directory />
dodatek do <Directory
/var/www/>
. Ponadto katalogi /www/var/
zawierające .htaccess
pliki domyślnie nie dawały serwerowi Apache dostępu do odczytu, co powoduje błąd Apache
(13)Permission denied: /var/www/webapp/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable.
Aby to naprawić, $ sudo nautilus
kliknij prawym przyciskiem myszy katalog z
.htacces
plikiem s, wybierz Właściwości, następnie wybierz Uprawnienia i daj grupie użytkowników, z której się logujesz, przynajmniej uprawnienia do odczytu.
Zobacz http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride, aby uzyskać więcej informacji na temat AllowOverride
.
/etc/apache2/httpd.conf
i dobrym pomysłem jest wykonanie kopii zapasowej oryginalnego pliku przed rozpoczęciem zabawy. Jeśli chodzi o.htaccess
plik, proszę odnieść się do odpowiedzi @dobey