htaccess重写到子域

时间:2011-12-23 14:44:03

标签: apache .htaccess mod-rewrite

您好我有一个位于主服务器子目录内的独立站点。

子目录站点中的所有链接指向根目录,我想捕获它们并将它们发送回子目录而不是根目录。

这可以用htaccess吗?

2 个答案:

答案 0 :(得分:2)

这不会重定向到subdir,但是让其他域的行为就像subdir是document-root一样。我认为哪个更好。

RewriteEngine on
RewriteBase     /

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

答案 1 :(得分: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中进行并重定向,无论它是否是子域,它都会看起来:

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