Vì vậy, tôi vừa mới nâng cấp lên Laravel 4 và tôi đang thiết lập mọi thứ trên một máy chủ mới. Tuyến đường mặc định /
hoạt động tốt, nhưng mọi tuyến đường khác đều trả lại lỗi 404. Khi cố gắng index.php/route
, tôi nhận được dữ liệu được yêu cầu, do đó điều đó có nghĩa là .htaccess không hoạt động.Laravel 4 .htaccess Không viết lại URL
Có, AllowOverride is set to ALL
.
Có, tôi enabled the mod_rewrite module
.
Tôi đã thử những điều sau đây 3 .htaccess kết hợp:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
</IfModule>
và:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
và:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
Và, sau khi khởi động lại máy chủ, và như vậy, không ai trong số họ đang làm việc và tôi vẫn trả lại lỗi 404.
Lưu ý: Tôi đang sử dụng một số miền có cùng cài đặt laravel, vì vậy các thư mục công khai của tôi là public/site1
, public/site2
, public/site3
. Tuy nhiên, tôi đang định tuyến các đường dẫn công cộng đến các thư mục này, vì vậy tôi không chắc chắn đó có phải là vấn đề hay không.
Mọi suy nghĩ?
Máy chủ của bạn là gì? xAMP, Apache? Bạn đã tải module viết lại chưa? Kiểm tra dòng này trong httpd.conf của bạn: 'LoadModule rewrite_module modules/mod_rewrite.so' –
@AlexandreButynski Apache. Có, tôi đã tải mô-đun viết lại. Tôi đã nói ở trên. Và AllowOverride là tất cả. Tôi không biết điều gì gây ra nó. –