apache mod_rewrite nie działa z plikiem .htaccess
OK, mam problemy z aws lub czymś takim, że nie mogę sprawić, by mod_rewrite działał.
Dla celów testowych wykonałem następujące czynności:
1 użyta konsola aws do wdrożenia nowej instancji 64-bitowej ami z kreatora
2 zainstalowane apache
3 edytowano /etc/httpd/conf/httpd.conf: tak
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
wygląda jak
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
4 upewnił się, że
LoadModule rewrite_module modules/mod_rewrite.so
jest w pliku i odkomentowany.
5 ponownie uruchomiony apache:
sudo /sbin/service httpd restart
6 utworzyło dwa nowe pliki:
/var/www/html/test1.html
zawiera:
this is test1!
/var/www/html/test2.html
zawiera:
this is test2!
7 utworzony plik:
/var/www/html/.htaccess
zawiera (IN TOTAL):
RewriteEngine on
RewriteRule ^test1\.html$ test2.html [L]
8 poszło do:
http://[my aws server]/test1.html
Dostaję „to jest test1!”
Robię tu coś złego, ale dla mnie nie mam pojęcia, co. Każda pomoc jest bardzo mile widziana ...
EDYCJA: Dodałem nonsensowne znaki / liczby na początku mojego pliku .htaccess i zrestartowałem apache (nie jest to 100% pewności, że jest potrzebne, ale cóż ...) i nic się nie stało. Innymi słowy, spodziewałem się, że przejście do url [aws server] /test1.html spowoduje jakiś błąd, ale tak się nie stało. Podejrzewam, że apache nawet nie czyta pliku .htaccess.
EDYCJA: Dodałem następujące elementy do mojego pliku httpd.conf:
RewriteLog "/tmp/rewrite.log"
RewriteLogLevel 9
Plik jest tworzony po ponownym uruchomieniu apache, ale nic się tam nie dzieje, gdy przechodzę na stronę, którą ustawiłem. Nie robię tutaj czegoś bardzo, bardzo podstawowego, ale nie jestem pewien, co ...