我想将特定的通配符子域重定向到另一个域的特定url。这两个域都在同一服务器/ public_html上,并将通配符子域的所有内部页面重定向到另一个域的内部页面。
例如
将music.example.com
重定向到stackoverflow.com/music/
和
将music.example.com/happy-birthday/
重定向到stackoverflow.com/happy-birthday
将music.example.com/sing-to-you/
重定向到stackexchange.com/sing-to-you/
我的帖子超过10万,因此我无法使用.htaccess一一进行内部页面的重定向
请帮帮我
我尝试了以下代码
RewriteCond %{HTTP_HOST} ^(music.example.com) [NC]
RewriteRule ^()$ https://www.stackoverflow.com/music/ [R=301,L]
,但是它只会将首页重定向到我想要的特定网址,但其余网址是主要问题,如果我使用普通的域名重定向,则它适用于其余网址,但上面的代码将停止工作
以下是正常域重定向重定向的以下代码
RewriteCond %{HTTP_HOST} ^music\.domain.com\.com [NC]
RewriteRule ^(.*)$ https://wwww.stackoverflow.com/$1 [L,R=301,NC]
答案 0 :(得分:1)
我使用了下面的htaccess代码,它运行良好。
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]
RewriteCond
(条件)指令检查请求的主机。 RewriteRule
自然会重定向到另一个域。在第二条规则中,来自请求的URL路径是在$1
反向引用中捕获的。