将特定的通配符子域重定向到另一个域上的特定URL

时间:2019-03-12 作者:XATA

我想将特定的通配符子域重定向到另一个域上的特定URL。这两个域位于同一服务器/public\\u html上,并将通配符子域的所有内部页重定向到另一个域的内部页。

例如:

重定向music.example.comanother.example/music/

重定向music.example.com/happy-birthday/another.example/happy-birthday

重定向music.example.com/sing-to-you/another.example/sing-to-you/

我有超过10万篇帖子,因此我无法使用.htaccess.

1 个回复
最合适的回答,由SO网友:MrWhite 整理而成

您可以在.htaccess 在WordPress前端控制器之前使用mod\\u rewrite在文档根目录中创建文件。

请注意,由于您有两种不同的模式(根目录到/music 然后你需要两条规则。

RewriteEngine On

# "music.example.com/" to "another.example/music/"
RewriteCond %{HTTP_HOST} ^music\\.example\\.com [NC]
RewriteRule ^$ https://another.example/music/ [R=302,L]

# "music.example.com/<something>" to "another.example/<something>"
RewriteCond %{HTTP_HOST} ^music\\.example\\.com [NC]
RewriteRule (.+) https://another.example/$1 [R=302,L]
TheRewriteCond (condition)指令检查请求的主机。这个RewriteRule 自然重定向到其他域。在第二条规则中,请求的URL路径在$1 反向参考。

请注意,这是一个302(临时)重定向。如果这是永久性的,则更改为301(即。R=301) 但只有当你确认它工作正常时。301s在测试时可能会出现问题,因为浏览器会主动缓存它们。