htaccess 从子域目录重定向到主域

htaccess 从子域目录重定向到主域

我需要将所有请求从子域特定目录重定向到主域

例子:

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]

相关内容