為什麼要使用 mod_rewrite?
來講什麼是 mod_rewrite (或是其他類似的東西),以 Group.NCTU.edu.tw 為例,RSS feed 的輸出大致上會長這樣:
http://group.nctu.edu.tw/rss10/darkkiller
我希望把這類的連線要求都交給 rss10.php 處理,變成這樣:
http://group.nctu.edu.tw/rss10.php?g�rkkiller
這就是 mod_rewrite 要做的事情。
那麼用 mod_rewrite 有什麼好處?我可以想到這幾點:
- 服務的穩定性:對於發展中的平台而言,mod_rewrite 提供了彈性,使得底層的改變 (譬如
rss10.php
變成rss10-2.php
) 不會影響到上層的 URL,對於使用者而言不會有感覺。 - SEO:Search Engine 會比較偏好沒有
?
與&
的 URL。
像無名的 RSS 與文章 (以彎彎的 Blog 為例) 就做的不太好:
http://www.wretch.cc/blog/cwwany&rss20=1
http://www.wretch.cc/blog/cwwany&article_idU76574
比較好的作法可能是改成這樣:
http://www.wretch.cc/blog/cwwany/rss20
http://www.wretch.cc/blog/cwwany/5576574
甚至改成 feed.wretch.cc
,一開始先用 VirtualHost 跑在同一台上,以後如果發現 RSS 愈來愈吃重,需要以獨立的機器分出來就更方便了。