10/10/2018, 10:56
[Question] Rewrite URL in PHP
Hi all,
Mình có đọc một số tutorial về rewrite url cho Appche, PHP.
Nhưng thử làm với website của mình hoài ko dc.
Vậy mạn phép hỏi các bạn trên forum ai rành thì support mình nhe.
Mình có dạng url như sau:
Vậy để rewrite cái url trên từ ?cmd=home thành home.html
Còn news và librarian thì như sau:
?cmd=librarian&id=1 ---> /1/librarian.html
?cmd=librarian&page=1 -> /page1/librarian.html
Cám ơn!
Mình có đọc một số tutorial về rewrite url cho Appche, PHP.
Nhưng thử làm với website của mình hoài ko dc.
Vậy mạn phép hỏi các bạn trên forum ai rành thì support mình nhe.
Mình có dạng url như sau:
http://domain.com/?cmd=home
http://domain.com/?cmd=contact
http://domain.com/?cmd=intro
http://domain.com/?cmd=service
http://domain.com/?cmd=project
http://domain.com/?cmd=librarian
http://domain.com/?cmd=librarian&id=1 -> Có Id bài viết ở sau
http://domain.com/?cmd=librarian&page=1 -> Phân trang
http://domain.com/?cmd=news
http://domain.com/?cmd=news&id=1 -> Id bài viết ở sau
http://domain.com/?cmd=news&page=1 -> Phân trang
http://domain.com/?cmd=contact
http://domain.com/?cmd=intro
http://domain.com/?cmd=service
http://domain.com/?cmd=project
http://domain.com/?cmd=librarian
http://domain.com/?cmd=librarian&id=1 -> Có Id bài viết ở sau
http://domain.com/?cmd=librarian&page=1 -> Phân trang
http://domain.com/?cmd=news
http://domain.com/?cmd=news&id=1 -> Id bài viết ở sau
http://domain.com/?cmd=news&page=1 -> Phân trang
Vậy để rewrite cái url trên từ ?cmd=home thành home.html
Còn news và librarian thì như sau:
?cmd=librarian&id=1 ---> /1/librarian.html
?cmd=librarian&page=1 -> /page1/librarian.html
Cám ơn!
Bài liên quan
RewriteRule ^/page[0-9]/librarian.html$ ?cmd=librarian&page=$1
Options +FollowSymlinks
RewriteBase /
RewriteRule ^home.html$ ?cmd=home
RewriteRule ^contact.html$ ?cmd=contact
RewriteRule ^intro.html$ ?cmd=intro
RewriteRule ^service.html$ ?cmd=service
RewriteRule ^project.html$ ?cmd=project
RewriteRule ^librarian.html$ ?cmd=librarian
RewriteRule ^/[0-9]/librarian.html$ ?cmd=librarian&id=$1
RewriteRule ^/page[0-9]/librarian.html$ ?cmd=librarian&page=$1
RewriteRule ^news.html$ ?cmd=news
RewriteRule ^/[0-9]/news.html$ ?cmd=news&id=$1
RewriteRule ^/page[0-9]/news.html$ ?cmd=news&page=$1
Any body help me(
Nhưng còn cái dụ news, và librarian thì vẫn chưa.
news.html?cmd=news&id=1
librarian.html?cmd=librarian&id=1
Web ko nhận được ID để SELECT vào DB.
Xin mọi người giúp mình tiếp
Mình có làm thử như bên dưới mà ko dc
Tức là giờ thay cái ?cmd=news thành news.html
RewriteRule ^/[0-9]/librarian.html$ librarian.html?id=$1
RewriteRule ^/page[0-9]/librarian.html$ librarian.html?page=$1
RewriteRule ^/[0-9]/news.html$ news.html?id=$1
RewriteRule ^/page[0-9]/news.html$ news.html?page=$1
Xin giúp thêm ạ
[=========> Bổ sung bài viết <=========]
Up cho ai quan tâm )
[=========> Bổ sung bài viết <=========]
Up cho ai biết và quan tâm vấn đề này
RewriteRule ^(***91;a-zA-Z***93;+).html$ ?cmd=$1
RewriteRule ^(***91;0-9***93;+)/(***91;a-zA-Z***93;+).html$ ?cmd=$2&id=$1
RewriteRule ^(page***91;0-9***93;+)/(***91;0-9***93;+)/(***91;a-zA-Z***93;+).html$ ?cmd=$3&id=$2&page=$1
RewriteEngine on
RewriteRule ^product$ ?act=product
RewriteRule ^product/(***91;0-9a-zA-Z+\-***93;+)$ ?act=product&c=$1
RewriteRule ^product/server/eoraptor$ ?act=product&c=server&p=0
RewriteRule ^product/server/sauropoda$ ?act=product&c=server&p=1
RewriteRule ^product/server/t-Rex$ ?act=product&c=server&p=2
RewriteEngine on
RewriteRule ^product$ ?act=product
RewriteRule ^product/(***91;0-9a-zA-Z+\-***93;+)$ ?act=product&c=$1
RewriteRule ^product/(***91;0-9a-zA-Z+\-***93;+)/(***91;0-9a-zA-Z+\-***93;+)$ ?act=product&c=$1&p=$2
Về dấu # - đây chỉ anchor của client nên không ảnh hưởng gì khi viết rewrite.
Regards!!!
http://www.tildemark.com/software/se...on-apache.html
Regards!!!
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^.*$ - [L]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{REQUEST_URI} !^/xpbox/FCK
RewriteRule ^(.+)/(.+)/(.+)/(.+)/$ index.php?member_site=$1&sys_sOption=$2&sys_sTask= $3&seo_name=$4&%{QUERY_STRING}
RewriteRule ^(.+)/(.+)/(.+)/$ index.php?member_site=$1&sys_sOption=$2&sys_sTask= $3&%{QUERY_STRING}
RewriteRule ^(.+)/(.+)/$ index.php?member_site=$1&sys_sOption=$2&%{QUERY_ST RING}
RewriteRule ^(.+)/$ index.php?member_site=$1&%{QUERY_STRING}
RewriteRule ^(.+)/(.+)/(.+)/(.+)\.html$ index.php?member_site=$1&sys_sOption=$2&sys_sTask= $3&seo_name=$4&%{QUERY_STRING}
RewriteRule ^(.+)/(.+)/(.+)\.html$ index.php?member_site=$1&sys_sOption=$2&sys_sTask= $3&%{QUERY_STRING}
RewriteRule ^(.+)/(.+)\.html$ index.php?member_site=$1&sys_sOption=$2&%{QUERY_ST RING}
RewriteRule ^(.+)\.html$ index.php?member_site=$1&%{QUERY_STRING}
Cách viết này khá ổn. Bạn vẫn có các chuỗi query ở đằng cuối. Còn phần rewrite thì bạn có thể cho bao nhiêu biến tùy ý.
Khi bạn dùng url rewrite thì các đường dẫn bạn dùng đều phải là đường dẫn tuyệt đối.
Đây là một số trang web mình đã làm
http://noithatviet.info
[=========> Bổ sung bài viết <=========]
Với url rewrite bạn nên viết một hàm riêng để tạo các url tuyệt đối. Hôm nay tớ hơi bận nên kô đưa hàm lên đây, hôm khác mình sẽ đưa hàm mình vẫn dùng mọi người tham khảo và đóng góp ý kiến giúp mình. hì giờ đánh AOE chút đánh kô giỏi toàn thua thằng bạn nhưng vẫn đánh.
quảng cáo chút
http://noithatviet.info
http://noithatviet.info/Admin/
user + pass : dungtv