10/10/2018, 09:23
Lỗi khi dùng mod rewrite URL
Tôi định mã hóa link theo dạng như sau cho trang web đang làm. Nhưng không hiểu sao khi chạy lại không đựoc:
đường dẫn thật có dạng: mydomain.com/web/index.php?act=home
mydomain.com/web/index.php?act=news
mydomain.com/web/index.php?act=news&view=detail&id=123
bây giờ tôi muốn thay đổi để link có dạng như sau:
mydomain.com/web/home/
mydomain.com/web/news/
mydomain.com/web/news/detail/123
file .htaccess có nội dung như sau:
RewriteEngine On
Options +FollowSymLinks All
RewriteBase /
RewriteRule ^act/([a-zA-Z]*)/ index.php?act=$1
copy vào thư mục gốc rồi, nhưng không hiểu sao khi click vào link trên web ví dụ click vào mydomain.com/web/home/ thì nó báo không tìm thấy trang web (The webpage cannot be found!)
Phải sửa file .htaccess thế nào để có thể nhận đựoc link ảo theo dạng: mydomain.com/web/home/
Mong các pro cho ý kiến nhé.
đường dẫn thật có dạng: mydomain.com/web/index.php?act=home
mydomain.com/web/index.php?act=news
mydomain.com/web/index.php?act=news&view=detail&id=123
bây giờ tôi muốn thay đổi để link có dạng như sau:
mydomain.com/web/home/
mydomain.com/web/news/
mydomain.com/web/news/detail/123
file .htaccess có nội dung như sau:
RewriteEngine On
Options +FollowSymLinks All
RewriteBase /
RewriteRule ^act/([a-zA-Z]*)/ index.php?act=$1
copy vào thư mục gốc rồi, nhưng không hiểu sao khi click vào link trên web ví dụ click vào mydomain.com/web/home/ thì nó báo không tìm thấy trang web (The webpage cannot be found!)
Phải sửa file .htaccess thế nào để có thể nhận đựoc link ảo theo dạng: mydomain.com/web/home/
Mong các pro cho ý kiến nhé.
Bài liên quan
Options +FollowSymLinks All
RewriteBase /web
RewriteRule ^(.*)/$ $1
RewriteRule ^([a-zA-Z]+)$ index.php?act=$1
RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)$ index.php?act=$1&view=$2
RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)/([0-9]+)$ index.php?act=$1&view=$2&id=$3
Có khi ông chưa enable mod_rewrite cũng nên )
Trên localhost đã bật mod rw lên rồi cũng không đựoc.
file htaccess cũng không có gì sai cả, vậy mà nó kô chịu chạy, kì lạ quá nhỉ.
Có cần phải thay đổi gì thêm nữa kô các bác? ngoài các thay đổi như trên. Từ trứoc tới nay tôi cứ viết link nhìn loằng ngoằng toàn ? với & . Bây giờ muốn sửa lại cho đẹp mắt chút mà lỗi khôg tìm ra nguyên nhân tại đâu.
Mình cũng đã bật mod_rewrite rồi.
Tạo file .htaccess.
Mình thử test một cái đơn giản nhưng nó không có tác dụng gì cả.
/////////////
RewriteEngine On
Options +FollowSymLinks All
RewriteRule ^a.html& b.html[L]
///////////
why?
Them khoảng trắng trc [L] nữa
RewriteRule ^a.html$ b.html [L]