将主域重定向到子域,但保留一个子目录

Redirect main domain to subdomain, but keep a subdirectory

使用

将域重定向到子域似乎很容易
 RewriteCond %{HTTP_HOST} www.example.com
RewriteRule (.*) http://sub.example.com/ [R=301,L]

但是如何在不重定向到子域的情况下保持单个子文件夹的工作?

所以 www.example.com/a-page 和例子.com/any-page(.html 或不) 将被重定向到 sub.example.com/any-page(.html 或不)

但我想要一个子文件夹(只有一个)www.example.com/music/any-page(.html 或不)和示例。com/music/any-page(.html 或不)像那样工作,不被重定向(为其添加例外)

注意: (.html or not) 表示帖子以 .html 结尾,页面不以 (Wordpress) 结尾。不确定这是否重要。

谢谢

您可以尝试这样的操作,如果它是子目录则不重定向,否则重定向所有其他请求。

RewriteCond %{REQUEST_URI} !^/subdir/.*$
RewriteCond %{REQUEST_URI} !^/subdir$
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com
RewriteRule ^(.*) http://sub.example.com/ [R=301,L]