2012-02-22 97 views
0

我試圖設置一個301重定向在.htaccess重定向URL:特定文件夾的子域

的「目錄」中的設定值,所以它不是任何目錄,但只有一個指定的。下面是我有 -

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.domain\.com/dir$ [NC] 
RewriteRule ^(.*) http://dir.domain.com/$1 [L,R=301] 
+0

您是否試圖從虛擬目錄重定向到等效的子域名? – 2012-02-22 22:59:26

+0

不,在這種情況下,目錄是一個實際的目錄 – atb 2012-02-23 00:57:25

回答

1

HTTP_POST不是一個有效的選擇。你甚至可以使這更強大,但是這應該通過有兩個條件限制它到特定的域。一個用於主機頭,另一個用於子文件夾。

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC] 
RewriteCond %{REQUEST_URI} ^/dir/$ [NC] 
RewriteRule ^.*$ http://dir.domain.com/ [L,R=301] 
+1

輝煌,謝謝 – atb 2012-02-23 04:40:42

+0

你可以upvote? – 2012-02-23 05:05:16

0

我猜你的問題是,你試圖調節HTTP_POST到完整的主機,包括子目錄。 HTTP_POST在這種情況下僅包含主機,即www\.domain\.com

你可能會做這樣的事情:

RewriteEngine On 
RewriteCond %{HTTP_POST} ^www\.domain\.com$ [NC] 
RewriteRule ^/dir/(.*) http://dir.domain.com/$1 [L,R=301] 
+0

不適合我。如果我訪問www.domain.com/dir,它仍然存在 – atb 2012-02-23 00:57:48

+1

這是尾部斜槓behing/dir。只需使用^/dir(。*)。 – 2012-02-23 20:26:12

相關問題