Właśnie uaktualniłem do Laravel 4 i konfiguruję nowy serwer. Domyślna trasa /
działa dobrze, ale każda inna trasa zwraca błąd 404. Podczas próby index.php/route
otrzymuję żądane dane, co oznacza, że .htaccess nie działa.Laravel 4 .htaccess Not Przepisywanie adresów URL
Tak, AllowOverride is set to ALL
.
Tak, I enabled the mod_rewrite module
.
Próbowałem następujące 3 .htaccess kombinacje:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
</IfModule>
oraz:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
oraz:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
, a po ponownym uruchomieniu serwera, i tak dalej, żaden z nich nie działa i nadal zwracam błąd 404.
Uwaga: używam kilku domen z tą samą instalacją w języku Laravel, więc moje foldery publiczne to public/site1
, public/site2
, public/site3
. Jednak przekierowuję publiczne ścieżki do tych folderów, więc nie jestem pewien, czy to byłby problem.
Jakieś myśli?
Jaki jest twój serwer? xAMP, Apache? Czy załadowałeś moduł przepisywania? Sprawdź tę linię w twoim httpd.conf: 'LoadModule rewrite_module modules/mod_rewrite.so' –
@AlexandreButynski Apache. Tak, załadowałem moduł przepisywania. Oświadczyłem, że powyżej. A AllowOverride to wszystko. Nie mam pojęcia, co to powoduje. –