有条件的htaccess重定向

时间:2018-08-28 11:21:22

标签: .htaccess redirect

是否可以使用.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中。

1 个答案:

答案 0 :(得分:0)

您可以使用此规则将不是/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]