lập trình web

Hướng dẫn xoá index.php khỏi URL trong CodeIgniter

CodeIgniter là một trong những PHP framework được sử dụng phổ biến hiện nay. Framework này được ưa chuộng bởi cộng đồng lập trình PHP do tính đơn giản cũng như linh hoạt của nó. Bạn có thể tải source code của framework này về máy, thực hiện bước cài đặt đơn giản mà không cần sử dụng thêm các công cụ hỗ trợ như Composer hoặc cần cài thêm các phần mở rộng extension khác cho PHP.

Xoá index.php khỏi URL trong CI

Với những người mới sử dụng framework này các bạn sẽ thấy trong URL của website khi chạy luôn có thêm index.php theo phía sau domain. Ví dụ như địa chỉ URL của một bài viết như sau:

https://www.codehub.vn/index.php/huong-dan-xoa-bo-index-khoi-url-trong-ci

Định dạng URL với index.php như trên không tốt cho SEO, điều này có nghĩa là trang web với định dạng URL này sẽ gặp khó khăn trong việc xuất hiện ở các vị trí đầu trong kết quả tìm kiếm . Ở bài viết này tôi sẽ hướng dẫn bạn cách xoá bỏ index.php ra khỏi URL thông qua 3 bước đơn giản.

Bước 1: Chỉnh File Cấu Hình config.php

Trong tập tin cấu hình ứng dụng config.php bạn tìm tới dòng chứa đoạn code sau:

$config['index_page'] = "index.php"

Và sửa thành:

$config['index_page'] = ""

Tiếp theo vẫn trong file này bạn tìm tới dòng có chứa đoạn code sau:

$config['uri_protocol'] ="AUTO"

Và sửa thành:

$config['uri_protocol'] = "REQUEST_URI"

Lưu các thay đổi trên lại.

Bước 2: Cập Nhật .htaccess

Bạn cập nhật nội dung trong tập tin .htaccess giống như sau:

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

Sau đó lưu lại thay đổi.

Bước 3: Kiểm Tra Lại

Bây giờ quay trở lại ứng dụng CodeIgniter của bạn và truy cập lại địa chỉ URL không sử dụng index.php. Ví dụ với URL mà tôi nhắc đến ở phần đầu bài viết sẽ đổi thành như sau:

https://www.codehub.vn/huong-dan-xoa-bo-index-khoi-url-trong-ci

Nếu bạn gặp phải lỗi thì quay trở lại file .htaccess và sửa dòng cuối cùng thành như sau:

RewriteRule ^(.*)$ index.php?/$1 [L,QSA] 

Và sau đó kiểm tra lại lần nữa.

Trường hợp bạn vẫn không thành công sau khi đã thực hiện toàn bộ các bước hướng dẫn trên đây thì có thể bạn cần kiểm tra lại cấu hình của webserver đã đúng hay chưa. Một trong những thiếu sót phổ biến đó là không kích hoạt mô-đun spelling của Apache.

Registration Login
Sign in with social account
or
Lost your Password?
Registration Login
Sign in with social account
or
A password will be send on your post
Registration Login
Registration