10/10/2018, 09:52

Giúp chút về Rewrite URL

Mình có file .htaccess với nội dung thế này:
Code:
RewriteEngine on
RewriteBase /
RewriteRule ^Home/?(.*) Home/MyDocs.php?url=$1 [L]
Nhưng lúc mình chạy link http://mydomain.com/Home/?gogogo thì nó lại rewrite thành http://mydomain.com/Home/MyDocs.php?url=MyDocs

Vậy là sao ?????????????????????
fotech_nd viết 12:02 ngày 10/10/2018
Thứ nhất: Trên url các text sau ? sẽ đc server hiểu là request parameter (biến GET) nên nếu bạn muốn lấy dấu ? thì bạn phải url encode kí tự ?

Thứ hai: Trong RewriteRule của bạn có đường dẫn ảo Home/?(.*) bị trùng với thư mục thật Home nên bạn phải đổi 1 trong hai cái đi

Ví dụ:
Code:
RewriteEngine on
RewriteBase /
RewriteRule ^Home/(.*)$ HomeDir/MyDocs.php?url=$1 [L]
hoanghai27 viết 12:07 ngày 10/10/2018
Thế URL ảo không được trùng thư mục với URL thật ah. Sao lạ vậy ?
fotech_nd viết 11:54 ngày 10/10/2018
Ngày trước mình cũng bị lỗi này một lần rồi - khi mình đổi đi thì đc => chắc của bạn cũng như thế.

Tốt nhất là nên đặt khác nhau để dễ phân biệt.
hoanghai27 viết 11:56 ngày 10/10/2018
Nhưng nếu đổi đi thì lại gặp chút rắc rối về link ảnh và JS
Bài liên quan
0