【发布时间】:2011-12-23 14:44:03
【问题描述】:
您好,我有一个独立站点,位于主服务器的子目录中。
子目录站点中的所有链接都指向根目录,我想捕获这些链接并将它们发送回子目录而不是根目录。
htaccess 可以做到吗?
【问题讨论】:
标签: apache .htaccess mod-rewrite
您好,我有一个独立站点,位于主服务器的子目录中。
子目录站点中的所有链接都指向根目录,我想捕获这些链接并将它们发送回子目录而不是根目录。
htaccess 可以做到吗?
【问题讨论】:
标签: apache .htaccess mod-rewrite
这不会重定向到子目录,但会使其他域的行为就像子目录是文档根一样。我认为这更好。
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^seconddomain.nl$ [NC]
RewriteCond $1 !^subfolder
RewriteRule ^(.*)$ /subfolder/$1 [L]
【讨论】:
正如@Gerben 指出的那样(你现在应该完全去投票赞成他的回答),你可以让另一个域表现得好像子目录是这样的文档根:
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]
【讨论】: