2014-09-05 65 views
1

我在一個託管帳戶上託管多個域,因此我爲每個域在public_html文件夾中創建了文件夾。將裸域重定向到www。在子文件夾中

例如家用/用戶名/的public_html/examplewebsite.com/ 和 家/用戶名/的public_html/otherexamplewebsite.com/

我一直在試圖找出我需要在我htaccess文件的訪問者重定向到相應的子文件夾中的代碼當他們鍵入examplewebsite.com時,他們看不到它們在主域的子文件夾中。我發現這個代碼最初,這是工作:

Options -Indexes +SymLinksIfOwnerMatch 
RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_URI} !^/domainfolder/ 
RewriteCond %{HTTP_HOST} ^(www\.)?domainname\. 
#Rewrite all those to insert /folder 
RewriteRule ^(.*)$ /domainfolder/$1 [L] 

但我也想重定向到裸體域輸入到www的所有訪客。版。我發現這個代碼,但是當我在htaccess文件使用這兩個,你可以在URL再次看到子文件夾名稱:

#Only www, no naked domain 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

RewriteCond %{HTTPS} on 
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L] 

我真的不明白很多的所有代碼,所以如果你們中的任何大師可以幫助我找出解決方案,我真的很感激它!

回答

1

讓你的規則,這樣在根的.htaccess:

RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTPS}s on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE] 

RewriteCond %{HTTP_HOST} ^(www\.)?domainname\. [NC] 
RewriteRule !^domainfolder/ domainfolder%{REQUEST_URI} [L,NC] 
+0

驚人,完美的作品謝謝。因此,當我添加更多域名時,我想再次粘貼代碼的最後兩行,並用相應的名稱替換域名和域文件夾? – 2014-09-05 10:36:28

+0

是的,這是正確的,只是重複每個新域的最後一條規則。 – anubhava 2014-09-05 10:43:47

相關問題