Cách sửa lỗi “The requested url was not found on this server” Laravel

Last Updated: Tháng Ba 22, 2018 Author:

Khi bạn truy cập vào trang chủ vẫn bình thường, tuy nhiên khi truy cập các trang con thì nhận dc thông báo như sau

 

 

Thì khả năng cao file .htaccess của các bạn có vấn đềbước đầu tiên hãy xác định trên host của bạn đã có file .htaccess và bên trong ko bị sai câu lệnh nào. Nếu bạn dùng WordPress có thể lấy lấy file mẫu tại đây. Nếu bạn dùng Laravel thì file mẫu nó sẽ giống thếnày.

 

<IfModule mod_rewrite.c>
 <IfModule mod_negotiation.c>
 Options -MultiViews
 </IfModule>
RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_URI} (.+)/$
 RewriteRule ^ %1 [L,R=301]
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^ index.php [L]
 RewriteCond %{HTTP:Authorization} .
 RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

Sau khi xác định file .htaccess đã OK mà vẫn chưa vào dc, ta cần kiểm tra config của Apache dùng lệnh

 

vi /etc/apache2/apache2.conf

Tìm tới dòng, sau đó thay None = All, rồi lưu lại.

<Directory "/var/www/html">
 ...
 AllowOverride None 
 ...
</Directory>

Hoặc cách 2 ta có thể thêm vào đó đoạn code sau, tuy nhiên cách này ko khuyến khích, ở đây laravel chính là tên Project bạn đã khởi tạo trên Laravel

 

<VirtualHost 127.0.0.1:80>
 DocumentRoot "/var/www/html/laravel/public"
 ...
 <Directory "/var/www/html/laravel/public">
 AllowOverride All
 </Directory>
</VirtualHost>

Sau khi sửa xong nhớ lưu lại, sau đó khởi động lại Apache bằng lệnh.

 

service apache2 restart

Nếu vẫn chưa dc hãy chắc chắn rằng mod_rewrite đã dc bật lên trong Apache, ta dùng lệnh

 

a2enmod rewrite

Sau đó khởi động lai Apache

 

service apache2 restart 

Giờ thì thử truy cập lại website của bạn xem



1 phản hồi

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *