• apache rewrite 設定簡單分享

    by  • 2009/06/22 • linux • 4 Comments

    Apache 提供了重寫規則的指令(rewrite)來運用它, 以 wordpress 為例

    固定網址自定結構後呢, wordpress 自動會在 .htaccess 加上一串設定來讓自定結構

    可以啟用, 另外如果當網址由 aaa.aaa.aaa.aaa 要轉到 bbb.bbb.bbb.bbb 時, 因為用 html

    語法跳頁的話, 會導致 PR 無法傳遞的問題, 這時候 apache rewrite 就可以派上用場了 !!

    WordPress 案例 :

    在固定網址那邊, 如果是自定結構, wordpress 會自動在 .htaccess 內加上

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    

    如果沒有上面的設定, 固定網址自定結構是不能做動的 !! 您可以試著拿掉看看 !!

    到主頁點文章, 會出現 404 錯誤.

    轉址案例 :

    網址由 aaa.aaa.aaa.aaa 要轉到 bbb.bbb.bbb.bbb, 再 .htaccess 加上

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^aaa\.aaa\.aaa\.aaa [NC]
    RewriteCond %{HTTP_HOST} !^$
    RewriteRule ^/(.*) http://bbb.bbb.bbb.bbb/$1 [L,R]
    </IfModule>
    

    這樣, 當網友在瀏覽器上, 輸入 aaa.aaa.aaa.aaa, apache 就會自動轉到 bbb.bbb.bbb.bbb 囉 ~~