2013-06-26 70 views
1

我試圖讓我的主域結構不會太雜亂,因此我將所有的域解析到他們自己的子文件夾中。所以,我試圖做的是當用戶去http://mydomain.com他們實際發送到http://mydomain.com/sub-directory使用.htaccess在URL中隱藏子文件夾而不破壞其他子域

這段代碼的工作原理:

#redirect to submain subdomain 
RewriteEngine On 
RewriteCond %{THE_REQUEST} ^GET\ /submain/ 
RewriteRule ^submain/(.*) /$1 [L,R=301] 
RewriteRule !^submain/ submain%{REQUEST_URI} [L] 

然而,它打破了所有我已經加載到其他子域我主目錄。

有關如何解決此問題的任何想法?

+0

所以你要應用這些規則只有主域? –

+0

是的。對不起,如果不明確。 – tbremer

回答

1
RewriteEngine On 
RewriteCond %{THE_REQUEST} ^GET\ /submain/ 
RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$ 
RewriteRule ^submain/(.*) /$1 [L,R=301] 

RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$ 
RewriteRule !^submain/ submain%{REQUEST_URI} [L] 
0
Create a .htaccess file in root folder, and put this content inside(just change example.com and my_subdir): 

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
RewriteCond %{REQUEST_URI} !^/my_subdir/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /my_subdir/$1 
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ 
RewriteRule ^(/)?$ my_subdir/index.php [L] 
</IfModule> 
相關問題