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
Pingback: Deploy wordpress on google cloud – longbkit