2014-09-05 88 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

相关问题