Hướng Dẫn Kích Hoạt Rewrite URL Trong Opencart
Tất cả các CMS hiện nay đều hỗ trợ Rewrite URL và Opencart cũng không ngoại lệ. Vậy Rewrite URL trong Opencart như thế nào? Làm sao để kích hoạt nó?
Nếu bạn nào chưa hiểu rõ thế nào là Rewrite URL thì hãy đọc bài viết sau của tôi để hiểu rõ hơn:
Quy trình kích hoạt Rewrite URL trong Opencart
Bước 01: Tạo file .htaccess
Mặc định khi bạn cài đặt Opencart, nó sẽ có 1 file có tên htaccess.txt. Giờ bạn đổi tên file đó thành .htaccess
Nếu website của bạn không được cài đặt trong thư mục gốc mà nó được cài đặt trong 1 thư mục khác thì bạn hãy mở file .htaccess và tìm:
RewriteBase /
Sửa thành:
RewriteBase /folder/
Bạn thay folder thành tên folder của bạn.
Ví dụ: Tôi cài đặt website vào thư mục có tên opencart, thì tôi sửa như sau:
RewriteBase /opencart/
Sau đó bạn lưu file này lại
Bước 2: Bật chế độ SEO URL thân thiện trong quản trị của Opencart
- Bạn đăng nhập vào trang quản trị website của Opencart, sau đó vào Cài đặt website => Thiết lập chung => Chọn Shop tương ứng và bấm Sửa
- Chọn Tab Điều khiển máy chủ, tại chế độ SEO URL thân thiện chọn Có
- Bấm lưu lại để hoàn tất quá trình chỉnh sửa
Bước 3: Kiểm tra lại kết quả
Sau khi đã hoàn thành 2 bước trên, bạn ra ngoài trang chủ vào xem thử 1 sản phẩm hoặc 1 danh mục xem có sự thay đổi của url sản phẩm hay không.
- Nếu bạn vào xem được sản phẩm hoặc danh mục mà không có lỗi 404 và url có dạng: domain.com/slug-san-pham thì bạn đã kích hoạt rewrite url thành công
- Nếu bạn xem sản phẩm hoặc danh mục mà báo lỗi 404 thì bạn hãy kiểm tra lại file .htaccess:
- Tên file có đúng là .htaccess không?
- Bạn đã sửa đúng vị trí đặt mã nguồn của website chưa? (RewriteBase /)
- Hosting của bạn có hỗ trợ mod_rewrite hay không?
Bổ sung: Loại bỏ router=common/home khi xem trang chủ
Trong Opencart, khi bạn vào trang chủ nó sẽ hiện ra trên URL dưới dạng: domain.com/index.php?router=common/home
Sau đây tôi có 1 tip nhỏ để loại bỏ đoạn đó đi
Các bạn mở file seo_url.php theo đường dẫn: catalog => controller => common và tìm code:
} else { return $link; }
Thay thế bằng:
} else { if(strpos($link,'index.php?route=common/home')){ $link = str_replace('index.php?route=common/home','',$link); } return $link; }
Sau đó bạn lưu lại.
Giờ bạn ra ngoài trang chủ kiểm tra bằng cách bấm vào logo website của bạn sẽ thấy sự thay đổi.
Kết luận
Trên đây là chút kinh nghiệm của tôi về việc Rewrite URL trong Opencart. Tôi hy vọng qua bài viết này bạn sẽ biết cách kích hoạt Rewrite URL trong Opencart và khắc phục được một số lỗi xảy ra.
Chúc bạn thành công!