PDA

View Full Version : Sử dụng Mod rewrite làm gọn liên kết


Miracle
06-06-2007, 22:06
Tạo đường dẫn ngắn bằng cách sử dụng module mod_rewrite (Có sẵn trong Apache), bạn có thể kích họat module này bằng cách sửa file httpd.conf - Tìm đến dòng rewrite_module và bỏ dấu # ở trước nó. Còn ở trên Hosting thì bạn phải liên hệ đến Root để yêu cầu kích hoạt.

Trong phạm vi bài viết này và để viết lại đường dẫn cho dễ nhớ, tất cả chỉ cần sử dụng 1 file duy nhất là .htacess.

Trước hết bạn tạo file .htaccess theo nội dung sau:

RewriteEngine on
Options +FollowSymlinks
RewriteBase /

Dòng đầu tiên của đoạn code trên là dùng để bật RewriteEngine.

Cú pháp sử dụng RewriteRule là:

RewriteRule ^Đường_dẫn_ảo Đường_dẫn_thực

Ví dụ 1:

RewriteRule ^topic/([0-9]*) index.php?topic=$1

Sẽ chuyển /topic/X thành index.php?topic=X.

Ví dụ 2:

RewriteRule ^topic_([0-9]*).html index.php?topic=$1

Sẽ chuyển /topic_X.html thành index.php?topic=X.

Ví dụ 3:

RewriteRule ^article/([0-9]*)/page/([0-9]*) index.php?article=$1&page=$2

Sẽ chuyển từ article/X/page/Y thành index.php?article=X&page=Y.

-------------------------------------------------------------------
* Chú thích:
(.*) nhận tất cả các giá trị.
([0-9]*) chỉ nhận các giá trị là số, từ 0-9.
([a-zA-Z]*) chỉ nhận các giá trị là chữ cái, từ a-z và A-Z.
-------------------------------------------------------------------

Sau khi tham khảo xong 3 ví dụ trên, việc cần làm của bạn là thiết kế URL cho phù hợp với site của bạn. Chúc bạn thành công!!!

(sưu tầm)

nhtuong
07-06-2007, 07:46
Cái này thú vị đó CED! Tiếp tục tìm hiểu nhé! Nó có thể làm tăng PageRank lên đó! Vấn đề này Zend Framework làm rất tốt!

http://www.phpindex.com/index.php/2001/05/09/637-zend-search-engine-friendly-php-pages
http://www.zend.com/zend/spotlight/searchengine.php#7

Mình đanh nghiên cứu về Zend Framework. Thứ 2 tuần sau sẽ báo cáo tại CUSC.

CED thảo luận tiếp nhé! Thảo luận xem giữa các biến lấy được từ GET đưa lên URL với việc tách biệt các biến đó bằng các flash "/" có gì khác nhau nhé?

Miracle
07-06-2007, 07:56
Đoạn code trên chạy ở với apache, có thể dùng với cả các file tĩnh như html

Zend Framework - tốn $ mua soft nên chưa thử bao giờ !

CED thảo luận tiếp nhé! Thảo luận xem giữa các biến lấy được từ GET đưa lên URL với việc tách biệt các biến đó bằng các flash "/" có gì khác nhau nhé?

Phải chú ý đến việc sắp xếp trình tự các biến lấy từ slash ngay từ lúc bắt đầu viết chương trình.
Nếu một trang web đã publish rồi mà sửa cấu trúc URL thường xuyên thì kết quả SEO sẽ rất tệ