2011-12-18 51 views
0

我對重寫規則有點問題;所以我想要做的是這個;mod-rewrite subdomain to subdomain dir

[名稱] .domain.com /文件/到[名稱] .domain.com /用戶/ [名稱] /文件,

其中[名稱]是子域名,例如 「缺口」 。 重要的部分是重定向應該發生,只是,如果請求包含子目錄;文件/。

例子我在Google上可以找到有關子域到子目錄重定向和子目錄到其他子目錄重定向的例子,從來沒有組合這兩個。

回答

2

嘗試把這些規則的.htaccess文件在你的文檔根目錄:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com$ [NC] 
RewriteRule ^files/(.*)$ /users/%1/files/$1 [L] 

我認爲你沒有在你的/用戶www /所以我增加了!^www\.條件。如果你想請求www.domain.com轉到/ users/www /那麼只需刪除那一行。

+1

做得好的+1給你......也許在'RewriteRule'結尾有'QSA'標誌(這一切都取決於香氣想要做什麼) – 2011-12-18 10:06:49

+0

查詢字符串在**?** isn時被自動追加不存在於規則的目標中。如果規則的目標是'/ users /%1/files/$ 1?redir = no'或其他,那麼它需要一個'QSA'。 – 2011-12-18 22:47:06

+0

我知道,但是假設其他一些網址在'?'之後有參數通過這些規則:他們的參數丟失。因此,這一切都取決於香氣想要做什麼:要麼確保先前放棄所有參數,然後只應用新的參數,**或**保留舊的和新的混合。 – 2011-12-19 08:42:59