From c16e77cadf5a4d7940df8aef1131615c3a105f38 Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Wed, 14 Nov 2012 06:03:53 -0500
Subject: [PATCH] Updated: Do not add $1 to redirect path on RewriteRule if there is no trailing /
---
server/plugins-available/apache2_plugin.inc.php | 24 ++++++++++++++++--------
1 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index ca8a88c..c8dda3e 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -888,26 +888,30 @@
'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':'['.$data['new']['redirect_type'].']',
'rewrite_target' => $rewrite_target,
'rewrite_target_ssl' => $rewrite_target_ssl,
- 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'));
+ 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'),
+ 'rewrite_add_path' => (substr($rewrite_target, -1) == '/' ? 'y' : 'n'));
$rewrite_rules[] = array( 'rewrite_domain' => '^' . $this->_rewrite_quote('www.'.$data['new']['domain']),
'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':'['.$data['new']['redirect_type'].']',
'rewrite_target' => $rewrite_target,
'rewrite_target_ssl' => $rewrite_target_ssl,
- 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'));
+ 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'),
+ 'rewrite_add_path' => (substr($rewrite_target, -1) == '/' ? 'y' : 'n'));
break;
case '*':
$rewrite_rules[] = array( 'rewrite_domain' => '(^|\.)'.$this->_rewrite_quote($data['new']['domain']),
'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':'['.$data['new']['redirect_type'].']',
'rewrite_target' => $rewrite_target,
'rewrite_target_ssl' => $rewrite_target_ssl,
- 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'));
+ 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'),
+ 'rewrite_add_path' => (substr($rewrite_target, -1) == '/' ? 'y' : 'n'));
break;
default:
$rewrite_rules[] = array( 'rewrite_domain' => '^'.$this->_rewrite_quote($data['new']['domain']),
'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':'['.$data['new']['redirect_type'].']',
'rewrite_target' => $rewrite_target,
'rewrite_target_ssl' => $rewrite_target_ssl,
- 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'));
+ 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'),
+ 'rewrite_add_path' => (substr($rewrite_target, -1) == '/' ? 'y' : 'n'));
}
}
@@ -983,19 +987,22 @@
'rewrite_type' => ($alias['redirect_type'] == 'no')?'':'['.$alias['redirect_type'].']',
'rewrite_target' => $rewrite_target,
'rewrite_target_ssl' => $rewrite_target_ssl,
- 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'));
+ 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'),
+ 'rewrite_add_path' => (substr($rewrite_target, -1) == '/' ? 'y' : 'n'));
$rewrite_rules[] = array( 'rewrite_domain' => '^' . $this->_rewrite_quote('www.'.$alias['domain']),
'rewrite_type' => ($alias['redirect_type'] == 'no')?'':'['.$alias['redirect_type'].']',
'rewrite_target' => $rewrite_target,
'rewrite_target_ssl' => $rewrite_target_ssl,
- 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'));
+ 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'),
+ 'rewrite_add_path' => (substr($rewrite_target, -1) == '/' ? 'y' : 'n'));
break;
case '*':
$rewrite_rules[] = array( 'rewrite_domain' => '(^|\.)'.$this->_rewrite_quote($alias['domain']),
'rewrite_type' => ($alias['redirect_type'] == 'no')?'':'['.$alias['redirect_type'].']',
'rewrite_target' => $rewrite_target,
'rewrite_target_ssl' => $rewrite_target_ssl,
- 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'));
+ 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'),
+ 'rewrite_add_path' => (substr($rewrite_target, -1) == '/' ? 'y' : 'n'));
break;
default:
if(substr($alias['domain'], 0, 2) === '*.') $domain_rule = '(^|\.)'.$this->_rewrite_quote(substr($alias['domain'], 2));
@@ -1004,7 +1011,8 @@
'rewrite_type' => ($alias['redirect_type'] == 'no')?'':'['.$alias['redirect_type'].']',
'rewrite_target' => $rewrite_target,
'rewrite_target_ssl' => $rewrite_target_ssl,
- 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'));
+ 'rewrite_is_url' => ($this->_is_url($rewrite_target) ? 'y' : 'n'),
+ 'rewrite_add_path' => (substr($rewrite_target, -1) == '/' ? 'y' : 'n'));
}
}
}
--
Gitblit v1.9.1