2013-04-29 22 views
2

我在做一個網站,用戶可以創建一個文件,文件夾等 子域這些網站進入一個文件夾,名爲網站,所以這將是新爲.htaccess和重寫規則

site.com/websites/subdomain.site.com 

我只需要在RewriteRule年底獲得{REQUEST_URI},以便用戶可以去 例如,subdomain.site.com/images/etc/img.jpg和仍然是他們的子域名將顯示像subdomain.site.com/images/etc/img.jpg但內容實際上是對site.com/websites/subdomain.site.com/images/etc/img.jpg

對不起創建多個問題,該文檔是很難我,我完全陌生的這一點,但我嘗試......請幫助這個:)

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_URI} !^/websites/ 
RewriteCond %{HTTP_HOST} (.*)$ [NC] 
RewriteRule ^(.*)$ /websites/%1/ [L] 
ErrorDocument 404/

回答

1

你的.htaccess非常接近你想要什麼。你只需要使用$1以及所示:

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_URI} !^/websites/ 
RewriteCond %{HTTP_HOST} ^(.*)$ [NC] 
RewriteRule ^(.*)$ /websites/%1/$1 [L] 
ErrorDocument 404/

%1僅指RewriteCond匹配的域。
$1需要引用ReqwriteRule中匹配的其餘網址。

編輯:要排除www.site.com

RewriteEngine on 
RewriteBase/
RewriteCond %{HTTP_HOST} !^(www\.)?(site\.com)$ [NC] 
RewriteCond %{REQUEST_URI} !^/websites/ 
RewriteCond %{HTTP_HOST} ^(.*)$ [NC] 
RewriteRule ^(.*)$ /websites/%1/$1 [L] 
ErrorDocument 404/
+0

謝謝...是不是可以排除萬維網。從中? – user1930593 2013-04-29 11:27:58

+0

我的意思是殺死wholde查詢,如果用戶訪問主頁www.site.com site.com或site.com/index.php?感謝您的幫助 – user1930593 2013-04-29 11:43:52

+0

@ user1930593您的意思是www.site.com應該去site.com和www.subdomain.site.com subdomain.site.com在地址欄? – 2013-04-29 11:48:53

0

考慮「子域」是烏拉圭回合的網站中的文件夾,然後試試這個下面的代碼

RewriteEngine on 
RewriteBase/

#if not already subdomain.website.com 
RewriteCond %{HTTP_HOST} !^subdomain\.website\.com$ [NC] 
#if request is for subdomain/, go to subdomain.website.com 
RewriteRule ^subdomain/$ http://subdomain.site.com [L,NC,R=301] 
+0

子域是未知的。它將由用戶創建。 – 2013-04-29 12:07:00