我想讓URL重寫在我的網站上工作。這裏是我的.htaccess的內容:Apache URL重寫,
RewriteEngine On
RewriteRule ^blog/?$ index.php?page=blog [L]
RewriteRule ^about/?$ index.php?page=about [L]
RewriteRule ^portfolio/?$ index.php?page=portfolio [L]
#RewriteRule ^.*$ index.php?page=blog [L]
現在3條註釋掉重寫規則很好地工作,如果我嘗試http://www.mysite.com/blog/,我重定向到http://www.mysite.com/index.php?page=blog,同爲「約」和「組合」。但是,如果我輸錯博客,假設我嘗試http://www.mysite.com/bloh/,那麼很明顯我會遇到404錯誤。評論的最後一條規則是幫助防止這種情況發生。任何URL都應該被重定向到博客,但是當然,即使我們已經成功地使用了前一個,這個規則仍然被解析,所以我使用了「last」標誌([L])。如果我取消註釋我的最後一條規則,則任何內容(包括博客,關於和投資組合)都將重定向到博客。一旦找到匹配規則,「last」標誌不應該立即停止執行嗎?
謝謝。
感謝您的回答。如果仔細觀察,我當前的正則表達式已經考慮了可選的尾部斜槓。 – 2009-06-02 19:06:09
哦,是的。我沒有看到。對不起:) – andi 2009-06-02 19:41:31