CODEIGNITER bỏ Index.PHP trên URL. Đảm bảo .HTACCESS và MOD_REWRITE đã hoạt động?
Bài viết được sự cho phép của BQT Kinh nghiệm lập trình
Khi deploy project lên server, chắc hẳn không ít bạn đã từng gặp lỗi không nhận diện được index.php 1 cách tự động như dưới localhost.
Trong bài viết này, mình sẽ chia sẻ cách fix lỗi này một cách đầy đủ.
Trước hết chúng ta cần kiểm tra các vấn đề sau:
- Kiểm tra xem .htaccess có hoạt động không?
- Kiểm tra xem mod_rewrite có hoạt động không?
- Thực hiện update cấu hình
Kiểm tra .htaccess có hoạt động không?
Cách đơn giản nhất để kiểm tra điều này, bạn mở file .htaccess lên. Thêm bất kì đoạn code nào vào đầu file. VD: <test>. Sau đó khởi động lại Apache. Theo dõi trình duyệt nếu nhận được lỗi như sau thì .htaccess của bạn đã hoạt động bình thường:
Nếu bạn không thấy ‘Interal Server Error’, Apache của bạn đã bỏ qua tệp .htaccess và bạn cần khắc phục điều đó. Nói chung, Apache bỏ qua tệp .htaccess vì cấu hình mặc định đang là AllowOverride none . Kiểm tra cấu hình máy chủ ảo của bạn và thêm / sửa đổi thành AllowOverride All.
Tìm và fix file: /etc/apache2/apache2.conf
Ví dụ:
<Directory /var/www/site/example.com/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Kiểm tra mod_rewrite
có hoạt động không?
Các bạn thực hiện theo hướng dẫn ở link sau đây để bật mod_rewrite nhé.
https://stackoverflow.com/questions/869092/how-to-enable-mod-rewrite-for-apache-2-2
Tìm việc làm PHP đãi ngộ tốt trên TopDev
Cuối cùng, update file .htaccess!
Bước 1: Cập nhật file .htaccess của bạn như sau:
Bước 2: Xóa index.php trong file config.php
$config[‘index_page’] = ”;
Bước 3:
Sửa:
$config['uri_protocol'] ="AUTO"
Thành:
$config['uri_protocol'] ="REQUEST_URI"
Bước 4: Khởi động lại Apache. Và tận hưởng kết quả!
Mọi người có thắc mắc gì để lại comment bên dưới bài viết nhé.
Thấy hữu ích thì chia sẻ cho bạn bè nhé. Mình cảm ơn.
Kinhnghiemlaptrinh.com
Bài viết gốc được đăng tải tại kinhnghiemlaptrinh.com
Có thể bạn quan tâm:
- NGINX là gì? Tổng quan về NGINX
- Kết nối Database động với PHP, Dynamic Database Connection!
- Framework là gì? Sự khác biệt giữa framework và library
Xem thêm việc làm IT hấp dẫn trên TopDev
- T Tìm hiểu Laptop AI – So sánh Laptop AI với Laptop thường
- M MySQL vs MS SQL Server: Phân biệt hai RDBMS phổ biến nhất
- S SearchGPT là gì? Công cụ tìm kiếm mới có thể đánh bại Google?
- C Cách tích hợp ChatGPT vào Google Search siêu dễ
- V VoiceGPT là gì? Giới thiệu tính năng và cách cài đặt sử dụng Voice GPT
- G GPT-4o Mini – Thông minh hơn và tiết kiệm hơn?
- C ChatGPT-4o là gì? Điểm mới của ChatGPT-4o vs ChatGPT-4
- C Chat GPT 4.0 là gì? Có gì vượt trội so với Chat GPT phiên bản cũ?
- C Cách tự học code web, tìm kiếm công việc dễ dàng và hạnh phúc mỗi ngày
- G Giới thiệu 15 website học và luyện hack hợp pháp