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
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- i iOS 18 có gì mới? Có nên cập nhật iOS 18 cho iPhone của bạn?
- G Gamma AI là gì? Cách tạo slide chuyên nghiệp chỉ trong vài phút
- P Power BI là gì? Vì sao doanh nghiệp nên sử dụng PBI?
- K KICC HCMC x TOPDEV – Bước đệm nâng tầm sự nghiệp cho nhân tài IT Việt Nam
- T Trello là gì? Cách sử dụng Trello để quản lý công việc
- T TOP 10 SỰ KIỆN CÔNG NGHỆ THƯỜNG NIÊN KHÔNG NÊN BỎ LỠ
- 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?