2011-12-23 126 views
1

嗨我有一个独立的网站,位于主服务器的子目录内。htaccess重写到子域

子目录网站内的所有链接指向根,我想捕获这些链接并将它们发回到子目录而不是根目录。

这可能与htaccess?

回答

2

这不会重定向到子目录,而是使其他域的行为就像subdir是文档根一样。我认为这更好。

RewriteEngine on 
RewriteBase /

RewriteCond %{HTTP_HOST} ^seconddomain.nl$ [NC] 
RewriteCond $1 !^subfolder 
RewriteRule ^(.*)$ /subfolder/$1 [L] 
1

由于@Gerben指出(他回答,你应该完全去给予好评现在),你可以让其他域表现为,如果subdir是文档根是这样的:

RewriteEngine on 
RewriteBase /

RewriteCond %{HTTP_HOST} ^seconddomain.example.com$ [NC] 
RewriteCond $1 !^subdir 
RewriteRule ^(.*)$ /subdir/$1 [L] 

另一种做你所问的方法是在HTML文档中使用<base>标签。这样做的一个好处是,对于Web服务器提供的每个文档(包括子目录/子域中的所有文档而不是),您没有额外的.htaccess处理。

如果你想这样做内部的.htaccess并做301重定向,无论它是否是子域,它看起来这样:

RewriteEngine on 
RewriteCond %{PATH_INFO} !^subdir/ 
RewriteRule ^(.*)$ subdir/$1 [L]