From 83cf118fd9f36797e29210e8903385045f621280 Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Sun, 04 Nov 2012 11:54:53 -0500
Subject: [PATCH] - Changing nginx rewrite rules - CONTINUED.
---
server/conf/nginx_vhost.conf.master | 6 +++---
server/plugins-available/nginx_plugin.inc.php | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/server/conf/nginx_vhost.conf.master b/server/conf/nginx_vhost.conf.master
index 254c9f8..3d96422 100644
--- a/server/conf/nginx_vhost.conf.master
+++ b/server/conf/nginx_vhost.conf.master
@@ -27,7 +27,7 @@
<tmpl_if name='use_rewrite'>
#if ($http_host ~* "<tmpl_var name='rewrite_domain'>$") {
#rewrite ^/(.+)$ <tmpl_var name='rewrite_target'>$1 <tmpl_var name='rewrite_type'>;
- rewrite ^<tmpl_var name='rewrite_exclude'>/(.+)$ <tmpl_var name='rewrite_target'>$2 <tmpl_var name='rewrite_type'>;
+ rewrite ^<tmpl_var name='rewrite_exclude'>(.+)$ <tmpl_var name='rewrite_target'>$2 <tmpl_var name='rewrite_type'>;
#rewrite ^ <tmpl_var name='rewrite_target'>$request_uri? <tmpl_var name='rewrite_type'>;
#}
</tmpl_if>
@@ -185,13 +185,13 @@
</tmpl_if>
server_name <tmpl_var name='rewrite_domain'>;
- location / {
<tmpl_if name='use_rewrite'>
rewrite ^ <tmpl_var name='rewrite_target'>$request_uri? <tmpl_var name='rewrite_type'>;
</tmpl_if>
<tmpl_if name='use_internal'>
+ location / {
proxy_pass <tmpl_var name='rewrite_target'>;
-</tmpl_if>
}
+</tmpl_if>
}
</tmpl_loop>
\ No newline at end of file
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 279ddf6..a9d55fd 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -956,7 +956,7 @@
$vhost_data['web_document_root_www'] .= $data['new']['redirect_path'];
break;
}
- $rewrite_exclude = '((?!'.substr($data['new']['redirect_path'],0,-1).'))';
+ $rewrite_exclude = '(?!(/'.substr($data['new']['redirect_path'],1,-1).'|stats'.($vhost_data['errordocs'] == 1 ? '|error' : '').')/)';
} else { // URL - check if URL is local
$tmp_redirect_path = $data['new']['redirect_path'];
if(substr($tmp_redirect_path,0,7) == '$scheme') $tmp_redirect_path = 'http'.substr($tmp_redirect_path,7);
@@ -970,7 +970,7 @@
$vhost_data['web_document_root_www'] .= $tmp_redirect_path_parts['path'];
break;
} else {
-
+ $rewrite_exclude = '(?!(/'.substr($tmp_redirect_path_parts['path'],1).'|stats'.($vhost_data['errordocs'] == 1 ? '|error' : '').')/)';
}
} else {
// external URL
@@ -986,7 +986,7 @@
}
$own_rewrite_rules[] = array( 'rewrite_domain' => '^'.$this->_rewrite_quote($data['new']['domain']),
'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':$data['new']['redirect_type'],
- 'rewrite_target' => $data['new']['redirect_path'],
+ 'rewrite_target' => ($data['new']['redirect_type'] != 'internal' && ($data['new']['redirect_type'] == 'redirect' || $data['new']['redirect_type'] == 'permanent')? substr($data['new']['redirect_path'],0,-1) : $data['new']['redirect_path']),
'rewrite_exclude' => $rewrite_exclude,
'use_rewrite' => ($data['new']['redirect_type'] == 'internal' ? false:true),
'use_internal' => ($data['new']['redirect_type'] == 'internal' ? true:false));
--
Gitblit v1.9.1