cname 之后的 mod_rewrite

cname 之后的 mod_rewrite

我有域名 foo.bar.example.com。foo 是 bar.example.com 下众多子域名之一。我需要捕获并重定向 foo.bar.example.com 上以“/special/”开头的所有链接。

  • foo.bar.example.com/asdf <- 不应重定向
  • foo.bar.example.com/special/asdf <- 应该重定向
  • otherfoo.bar.example.com/special/asdf <- 应该重定向

我已在 .htaccess 中使用以下代码成功将 foo.bar.example.com/special/asdf 重定向到 special.example.com/foo/asdf。

RewriteCond %{HTTP_HOST} (.*?)\.bar\.example\.com
RewriteRule ^/special/(.*)$ http://special.example.com/%1/$1 [L,NC,QSA]

太棒了,一切正常。有什么问题吗?

我有许多合作伙伴(this.that.com、silly.billy.com 等),他们已设置 cname 以指向我的匹配子域(that.bar.example.com、billy.bar.example.com 等)。我需要 this.that.com/special/asdf 也重定向到 special.example.com/that/asdf,而无需合作伙伴进行任何其他更改。

不幸的是,我目前没有能力对此进行测试。据我所知,mod_rewrite 的工作基于浏览器输入的内容,而不是 cname 的内容。如果这是真的,那么我将无法使用我的域名命名标准吗?我不能指望我的合作伙伴遵循类似的标准。我如何才能让 this.that.com/special/asdf 重定向到 special.example.com/that/asdf?

相关内容