mod重写3个子域重定向到自己(通用重定向)

问题描述 投票:0回答:1

目前我正在使用:RewriteCond%{HTTP_HOST} ^ sub1.test.example.net $ [NC] RewriteRule ^ /?$ https://sub1.test.example.net/folder1/folder2/app/nodes/dir1 [R,L] RewriteCond%{HTTP_HOST} ^ sub2.test.example.net $ [NC] RewriteRule ^ /?$ https://sub2.test.example.net/folder1/folder2/app/nodes/dir1 [R,L] RewriteCond%{HTTP_HOST} ^ sub3.test.example.net $ [NC] RewriteRule ^ /?$ https://sub3.test.example.net/folder1/folder2/app/nodes/dir1 [R,L]

我试图将3种不同环境的通用规则浓缩为可能的2行,例如:

重写条件:sub1或sub2或sub3重写规则:(sub1 OR sub2或sub3).example.net / folder1 / folder2 / app / nodes / dir1

我为成为一名新手而道歉,我已经阅读了apache mod重写手册几天,但还没有能够破解它。即使是正确方向的一点也会有很大的帮助。

mod-rewrite url-redirection
1个回答
0
投票

如果您只想处理特定子域上的规则,但是如果您只想匹配任何子域,则可以在每个条件后添加[OR]标记,您可以使用此标记:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*).test.example.net$ [NC]
RewriteRule ^/?$ https://%1.test.example.net/folder1/folder2/app/nodes/dir1 [R,L]

这将例如将http://sub777.test.example.net/?test重定向到https://sub777.test.example.net/folder1/folder2/app/nodes/dir1?test

© www.soinside.com 2019 - 2024. All rights reserved.