1. 程式人生 > >偽靜態與重定向--RewriteBase

偽靜態與重定向--RewriteBase

clas line not contain www 文件路徑 syn http write

使用RewriteBase可以重寫基準路徑,位於.htaccess文件靠頂部的位置。

代碼實例:

[Shell] 純文本查看 復制代碼
1 2 3 4 5 # 將 RewriteEngine 模式打開 RewriteEngine On RewriteBase / RewriteCond %{http_host} ^softwhy.com$ [NC] RewriteRule ^(.*)$ www.softwhy.com/$1 [R=301]

使用RewriteBase可以定義基準路徑,上面將當前目錄設置為基準目錄。

[Shell] 純文本查看 復制代碼
1 2 3 RewriteEngine On RewriteBase / RewriteRule ^forum\.htm$ forum.php [R=301]

上面代碼是將.html頁面重定向到對應的.php頁面。

假設虛擬空間在主機的位置是/host/antzone/,如果去掉RewriteBase /,那麽將會重定向到:

[HTML] 純文本查看 復制代碼
1 http://www.softwhy.com/host/antzone/forum.php

這是因為RewriteBase的默認值是當前.htaccess所在的物理路徑。

但絕大多數網站服務器URL不與物理文件路徑直接對應,而是將虛擬主機所在目錄為web站點的根目錄。

再來看一段代碼實例:

[Shell] 純文本查看 復制代碼
1 2 3 RewriteEngine On RewriteBase / antozne/ RewriteRule ^(.*)\.htm$ forum.php [R=301]

那麽將會重定向到http://www.softwhy.com/antzone/forum.php。

偽靜態與重定向--RewriteBase