Skip to content

Commit afc1c2e

Browse files
committed
Ensure that we always have two capture groups in nginx redirect regex expressions
We sometimes had one and mostly had two capture groups. Now we always have two capture groups and thus can always use $2 for the redirect target. Fixes #6144
1 parent f9c22b4 commit afc1c2e

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

server/conf/nginx_vhost.conf.master

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,13 @@ server {
6060
</tmpl_loop>
6161
<tmpl_loop name="local_redirects">
6262
if ($http_host <tmpl_var name='local_redirect_operator'> "<tmpl_var name='local_redirect_origin_domain'>") {
63-
rewrite ^<tmpl_var name='local_redirect_exclude'>(.*)$ <tmpl_var name='local_redirect_target'>$1 <tmpl_var name='local_redirect_type'>;
63+
rewrite ^<tmpl_var name='local_redirect_exclude'>(.*)$ <tmpl_var name='local_redirect_target'>$2 <tmpl_var name='local_redirect_type'>;
6464
}
6565
</tmpl_loop>
6666

6767
<tmpl_loop name="own_redirects">
6868
<tmpl_if name='use_rewrite'>
69-
<tmpl_if name='exclude_own_hostname'>if ($http_host != "<tmpl_var name='exclude_own_hostname'>") { </tmpl_if>rewrite ^<tmpl_var name='rewrite_exclude'>(.*)$ <tmpl_var name='rewrite_target'>$1 <tmpl_var name='rewrite_type'>;<tmpl_if name='exclude_own_hostname'> }</tmpl_if>
69+
<tmpl_if name='exclude_own_hostname'>if ($http_host != "<tmpl_var name='exclude_own_hostname'>") { </tmpl_if>rewrite ^<tmpl_var name='rewrite_exclude'>(.*)$ <tmpl_var name='rewrite_target'>$2 <tmpl_var name='rewrite_type'>;<tmpl_if name='exclude_own_hostname'> }</tmpl_if>
7070
</tmpl_if>
7171
<tmpl_if name='use_proxy'>
7272
location / {

server/plugins-available/nginx_plugin.inc.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1499,7 +1499,7 @@ function update($event_name, $data) {
14991499
}
15001500
} else {
15011501
// external URL
1502-
$rewrite_exclude = '(?!\.well-known/acme-challenge)/';
1502+
$rewrite_exclude = '(?!/(\.well-known/acme-challenge))/';
15031503
if($data['new']['redirect_type'] == 'proxy'){
15041504
$vhost_data['use_proxy'] = 'y';
15051505
$rewrite_subdir = $tmp_redirect_path_parts['path'];
@@ -1551,7 +1551,7 @@ function update($event_name, $data) {
15511551
}
15521552
} else {
15531553
// external URL
1554-
$rewrite_exclude = '(?!\.well-known/acme-challenge)/';
1554+
$rewrite_exclude = '(?!/(\.well-known/acme-challenge))/';
15551555
if($data['new']['redirect_type'] == 'proxy'){
15561556
$vhost_data['use_proxy'] = 'y';
15571557
$rewrite_subdir = $tmp_redirect_path_parts['path'];
@@ -1601,7 +1601,7 @@ function update($event_name, $data) {
16011601
}
16021602
} else {
16031603
// external URL
1604-
$rewrite_exclude = '(?!\.well-known/acme-challenge)/';
1604+
$rewrite_exclude = '(?!/(\.well-known/acme-challenge))/';
16051605
if($data['new']['redirect_type'] == 'proxy'){
16061606
$vhost_data['use_proxy'] = 'y';
16071607
$rewrite_subdir = $tmp_redirect_path_parts['path'];

0 commit comments

Comments
 (0)