当前我正在使用: 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个不同的env的通用规则浓缩为可能的2行,例如:
重写条件:sub1或sub2或sub3 重写规则:(sub1或sub2或sub3).example.net / folder1 / folder2 / app / nodes / dir1
我为成为新手而道歉,我已经阅读apache mod重写手册页了几天,但还没有破解。即使朝着正确的方向迈出了一步,也会有很大的帮助。
答案 0 :(得分: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