【问题标题】:Make Domain-Specific folder redirect using .htaccess rules?使用 .htaccess 规则进行域特定文件夹重定向?
【发布时间】:2010-12-19 09:16:46
【问题描述】:

我最近将我网站上的一个文件/图像文件夹(一个 Drupal 安装)从 /sites/default/files/ 移动到 /sites/example.com/files/,但是现在有很多来自外部热链接的 301 错误来源,我想将入站链接从旧的“默认”路径重定向到新的“示例”。 com' 路径,但适用于这一域...

基本上,我想从以下重定向访问者:

示例 .com /sites/default/files/*

到:

示例 .com /sites/example.com/files/*

虽然允许来自其他域(例如 example2 dot com)的访问者仍然看到站点/默认/文件。

(对于所有奇怪的 dot com 和间距,我很抱歉,我最多只能发布一个“超链接” - 也许 Stack Overflow 应该考虑根据需要多次允许示例 dot com)。

【问题讨论】:

  • 顺便说一句,“只允许一个超链接”是针对新注册帐户的垃圾邮件保护机制。获得更多声望点后,您将被允许发布更多内容。
  • 我明白了。我只是想指出 www.example.com 是一个完全无害且经常使用的链接,用于演示目的:) 在您破坏每一个链接之前,收到大量警告有点令人反感在帖子中...

标签: apache drupal .htaccess http-status-code-301


【解决方案1】:

试试这个mod_rewrite 规则:

RewriteEngine on
RewriteCond %{HTTP_HOST} =example.com
RewriteRule ^sites/default/files/(.*) /sites/example.com/files/$1 [L,R=301]

【讨论】:

  • 只是一个关于语法的快速问题 - 'RewriteCond' 是否与 'RewriteRule' 配对?意思是,如果我为另一个域添加另一个 Cond/Rule,我是否只需在最后一行下方添加该定义,一切都会好起来的?
  • 漂亮!只是重新修改了一点规则(因为我有另一个规则将非 www 更改为 www.example.com): RewriteCond %{HTTP_HOST} www.lolsaints.com$ [NC] RewriteRule ^sites/default/files /(.*) /sites/lolsaits.com/files/$1 [L,R=301]
猜你喜欢
  • 2014-04-03
  • 2014-11-21
  • 1970-01-01
  • 2016-11-10
  • 2013-09-23
  • 2017-09-08
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
相关资源
最近更新 更多