Skip to content

Commit a639ee6

Browse files
Dominikrenky
authored andcommitted
append *-Autosubdomains as last rules to rewrite rules
After this, it is possible to use both: - sub.domain.tld - *.domain.tld together with different folders by rewrite (with rewrite_type = L for sub.domain.tld) Before it was not clearified which rule matches first, it always dependet on the creation-time of the subdomain Conflicts: server/plugins-available/apache2_plugin.inc.php
1 parent be38365 commit a639ee6

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

server/plugins-available/apache2_plugin.inc.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1233,6 +1233,7 @@ function update($event_name, $data) {
12331233

12341234
// Rewrite rules
12351235
$rewrite_rules = array();
1236+
$rewrite_wildcard_rules = array();
12361237
if($data['new']['redirect_type'] != '' && $data['new']['redirect_path'] != '') {
12371238
if(substr($data['new']['redirect_path'], -1) != '/' && !preg_match('/^(https?|\[scheme\]):\/\//', $data['new']['redirect_path'])) $data['new']['redirect_path'] .= '/';
12381239
if(substr($data['new']['redirect_path'], 0, 8) == '[scheme]'){
@@ -1264,7 +1265,7 @@ function update($event_name, $data) {
12641265
'rewrite_add_path' => (substr($rewrite_target, -1) == '/' ? 'y' : 'n'));
12651266
break;
12661267
case '*':
1267-
$rewrite_rules[] = array( 'rewrite_domain' => '(^|\.)'.$this->_rewrite_quote($data['new']['domain']),
1268+
$rewrite_wildcard_rules[] = array( 'rewrite_domain' => '(^|\.)'.$this->_rewrite_quote($data['new']['domain']),
12681269
'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':'['.$data['new']['redirect_type'].']',
12691270
'rewrite_target' => $rewrite_target,
12701271
'rewrite_target_ssl' => $rewrite_target_ssl,
@@ -1363,7 +1364,7 @@ function update($event_name, $data) {
13631364
'rewrite_add_path' => (substr($rewrite_target, -1) == '/' ? 'y' : 'n'));
13641365
break;
13651366
case '*':
1366-
$rewrite_rules[] = array( 'rewrite_domain' => '(^|\.)'.$this->_rewrite_quote($alias['domain']),
1367+
$rewrite_wildcard_rules[] = array( 'rewrite_domain' => '(^|\.)'.$this->_rewrite_quote($alias['domain']),
13671368
'rewrite_type' => ($alias['redirect_type'] == 'no')?'':'['.$alias['redirect_type'].']',
13681369
'rewrite_target' => $rewrite_target,
13691370
'rewrite_target_ssl' => $rewrite_target_ssl,
@@ -1400,6 +1401,8 @@ function update($event_name, $data) {
14001401
} else {
14011402
$tpl->setVar('alias', '');
14021403
}
1404+
1405+
if (count($rewrite_wildcard_rules) > 0) $rewrite_rules = array_merge($rewrite_rules, $rewrite_wildcard_rules); // Append wildcard rules to the end of rules
14031406

14041407
if(count($rewrite_rules) > 0 || $vhost_data['seo_redirect_enabled'] > 0 || count($alias_seo_redirects) > 0) {
14051408
$tpl->setVar('rewrite_enabled', 1);

0 commit comments

Comments
 (0)