Htaccess 将所有文件从一个域中的子目录重定向到另一个域

Posted

技术标签:

【中文标题】Htaccess 将所有文件从一个域中的子目录重定向到另一个域【英文标题】:Htaccess redirect all files from subdirectory in one domain to another domain 【发布时间】:2013-05-27 17:05:27 【问题描述】:

我正在尝试创建一个永久 htaccess 重定向 (301),从一个域中的一个目录中的所有文件到另一个域,如下所示:

重定向以下目录中的所有文件:

http://www.primary.com/apples/*

收件人:

http://www.secondary.com

我对 htaccess 不是很有经验,想知道是否有人可以帮助我创建此重定向?

非常感谢!

【问题讨论】:

【参考方案1】:

这应该在 primary.com 根目录的一个 .htaccess 文件中工作:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %HTTP_HOST ^www\.primary\.com  [NC]
RewriteRule ^apples/(.*)  http://www.secondary.com/$1 [R=301,NC,L]

【讨论】:

似乎有效,只是想知道您为什么使用(.*) 而不是(.*)$ 在这种特殊情况下,不需要该锚点,尽管可以添加它。没什么区别。 Htaccess 正则表达式基于 PCRE,因此没有陷入无限循环的风险。检查此link 以获取更多信息。 非常感谢!

以上是关于Htaccess 将所有文件从一个域中的子目录重定向到另一个域的主要内容,如果未能解决你的问题,请参考以下文章

htaccess 从 Basic Auth 中排除一个 url

使用htaccess从URL中删除公用文件夹

.htaccess - 将所有 URL + 现有目录重定向到 index.php

在 htaccess 中使用正则表达式进行 301 重定向

.htaccess是什么

使用 .htaccess 拒绝访问目录中的所有 PHP 文件