Próbuję skonfigurować bibliotekę routingu PHP. Podają ten przykład dla pliku .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
Nie mogłem tego uruchomić, więc spróbowałem włączyć mod_rewrite, ale napisano: „Przepisywanie modułów już włączone”.
Dlaczego nie działa poprawnie? Dzięki! Używam Ubuntu Precise 12.04 i apache2.2.22. (Sprawdzone pod kątem wszelkich aktualizacji)
EDYCJA: Jeszcze kilka szczegółów, to błędna kompilacja PuPHPet, przepisywanie powinno być włączone.
apache2
mod-rewrite
Freddy Heppell
źródło
źródło
AllowOverride
jest to konieczne dla konfiguracji w pytaniu.Allow from All
nie ma nic wspólnego z pytaniem i może nie być odpowiednie dla środowiska @ randomdev.<Directory "/path/to/document/root/">
Zapomniałem przejść/path/to/document/root/
do katalogu głównego projektu. Dzięki!Po pierwsze, ustaw konfigurację httpd na tę (ścieżka może się różnić. W moim Ubuntu jest ona umieszczona w / etc / apache2 / sites-available / default):
Następnie należy włączyć mod_rewrite za pomocą tego polecenia:
Ostatnim uruchom ponownie usługę apache :
Aby to sprawdzić, możesz to sprawdzić ponownie w phpinfo w Konfiguracja> apache2handler> Załadowane moduły muszą być zapisane,
mod_rewrite
co oznacza, że mod_rewrite jest włączony.źródło
Miałem podobny problem, ale inne odpowiedzi mi nie pomogły. Ta linia na początku
.htaccess
rozwiązała mój problem:źródło