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