有条件的 htaccess 重定向



是否可以使用 .htaccess 进行条件重定向,如果有人直接访问我的域 (example.com(,他将被重定向到子域 (subdomain.example.com( 或可能到另一个域,但如果有人通过特定 URL 访问它 (example.com/magic(,他会被重定向到 example.com 即主域。

换句话说,我希望我的用户只有在使用 example.com/magic 时才访问主域(example.com(。 我的htaccess目前正在将主域的所有用户重定向到子域。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^/?$ "https://sub.example.com" [R=301, L]

不过我找不到,如何将条件放在我的htaccess中。

您可以使用此规则将未/magic或未/magic/的每个 URI 重定向到子域:

RewriteEngine On
# redirect /magic
RewriteRule ^magic/?$ / [L,NC,R=301]
# redirect anything except /magic
RewriteCond %{HTTP_HOST} ^(www.)?example.com$ [NC]
RewriteRule !^(magic/?)?$ https://sub.example.com [R=301,L,NE]

最新更新