RewriteBase基準路徑

admin發表於2018-07-19

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

程式碼例項:

[Shell] 純文字檢視 複製程式碼
# 將 RewriteEngine 模式開啟
RewriteEngine On
RewriteBase /
RewriteCond %{http_host} ^softwhy.com$ [NC]
RewriteRule ^(.*)$ www.softwhy.com/$1 [R=301]

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

[Shell] 純文字檢視 複製程式碼
RewriteEngine On
RewriteBase /
RewriteRule ^forum\.htm$ forum.php [R=301]

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

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

[HTML] 純文字檢視 複製程式碼
http://www.softwhy.com/host/antzone/forum.php

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

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

再來看一段程式碼例項:

[Shell] 純文字檢視 複製程式碼
RewriteEngine On
RewriteBase / antozne/
RewriteRule ^(.*)\.htm$ forum.php [R=301]

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

相關文章