我需要将所有请求从子域特定目录重定向到主域
例子:
dev.example.com/directory/test
需要重定向到
example.com/directory/test
(仅重定向带有目录的请求directory
)
答案1
在.htaccess
子域根目录中的文件中,您可以添加以下 mod_rewrite 指令来重定向到域顶点:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^dev\.(example\.com) [NC]
RewriteRule ^directory/ https://%1%{REQUEST_URI} [R=302,L]
如果我有多个子域名,并且我不仅想从 dev.* 重定向,还想从其他子域名重定向......子域名和主域名指向相同的目录
要从几个特定的子域重定向,您可以修改上述规则如下:
RewriteCond %{HTTP_HOST} ^dev\.example\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^dev0\.example\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^dev1\.example\.com [NC]
RewriteRule ^directory/ https://example.com%{REQUEST_URI} [R=302,L]
OR
请注意,最后一个条件没有标志。
重定向任何子域名,那么您可以使用更具包容性的正则表达式。例如:
RewriteCond %{HTTP_HOST} ^[^.]+\.(example\.com) [NC]
RewriteRule ^directory/ https://%1%{REQUEST_URI} [R=302,L]