diff --git a/install/tpl/nginx_ispconfig.vhost.master b/install/tpl/nginx_ispconfig.vhost.master
index ab0c6e482cc07c4d60d244d3b97439a1bf27e3df..19655e051a3f8b8fbc2b6f66eec6d5f27c8b93df 100644
--- a/install/tpl/nginx_ispconfig.vhost.master
+++ b/install/tpl/nginx_ispconfig.vhost.master
@@ -17,6 +17,7 @@ server {
}
location ~ \.php$ {
+ try_files $uri =404;
fastcgi_pass 127.0.0.1:{fpm_port};
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
@@ -32,6 +33,7 @@ server {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
+ try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:{fpm_port};
{ssl_comment}fastcgi_param HTTPS {fastcgi_ssl};
diff --git a/interface/web/sites/form/web_aliasdomain.tform.php b/interface/web/sites/form/web_aliasdomain.tform.php
index b44ac98683b105798ef5ab1f9a334b945227ff88..72cd2e1e0d843dee69695f538008406a9f7d81db 100644
--- a/interface/web/sites/form/web_aliasdomain.tform.php
+++ b/interface/web/sites/form/web_aliasdomain.tform.php
@@ -106,7 +106,7 @@ $form["tabs"]['domain'] = array (
'datatype' => 'VARCHAR',
'formtype' => 'SELECT',
'default' => 'y',
- 'value' => array('' => 'no_redirect_txt', 'no' => 'no_flag_txt', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L')
+ 'value' => array('' => 'no_redirect_txt', 'no' => 'no_flag_txt', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L', 'last' => 'last', 'break' => 'break', 'redirect' => 'redirect', 'permanent' => 'permanent')
),
'redirect_path' => array (
'datatype' => 'VARCHAR',
diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php
index 8475b91beb67054bf817c20ee7e4bcdba0db4e8a..5adca053f2e0c892e28f9cc1da0e89c0c4b6414c 100644
--- a/interface/web/sites/form/web_domain.tform.php
+++ b/interface/web/sites/form/web_domain.tform.php
@@ -231,7 +231,7 @@ $form["tabs"]['redirect'] = array (
'datatype' => 'VARCHAR',
'formtype' => 'SELECT',
'default' => '',
- 'value' => array('' => 'no_redirect_txt', 'no' => 'no_flag_txt', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L')
+ 'value' => array('' => 'no_redirect_txt', 'no' => 'no_flag_txt', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L', 'last' => 'last', 'break' => 'break', 'redirect' => 'redirect', 'permanent' => 'permanent')
),
'redirect_path' => array (
'datatype' => 'VARCHAR',
diff --git a/interface/web/sites/form/web_subdomain.tform.php b/interface/web/sites/form/web_subdomain.tform.php
index ffcce7ac06832d247a6cef0d37143247ee23ade1..116c5b449b2c73779e0ddb9c55e7fe4c3210e564 100644
--- a/interface/web/sites/form/web_subdomain.tform.php
+++ b/interface/web/sites/form/web_subdomain.tform.php
@@ -106,7 +106,7 @@ $form["tabs"]['domain'] = array (
'datatype' => 'VARCHAR',
'formtype' => 'SELECT',
'default' => 'y',
- 'value' => array('' => 'no_redirect_txt', 'no' => 'no_flag_txt', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L')
+ 'value' => array('' => 'no_redirect_txt', 'no' => 'no_flag_txt', 'R' => 'R', 'L' => 'L', 'R,L' => 'R,L', 'last' => 'last', 'break' => 'break', 'redirect' => 'redirect', 'permanent' => 'permanent')
),
'redirect_path' => array (
'datatype' => 'VARCHAR',
diff --git a/interface/web/sites/templates/web_aliasdomain_edit.htm b/interface/web/sites/templates/web_aliasdomain_edit.htm
index 688ed520b30b661a6fc3f743ddd16fee5054c106..3f3b38d21b8bb00d3e9f008c8c38efbc93114160 100644
--- a/interface/web/sites/templates/web_aliasdomain_edit.htm
+++ b/interface/web/sites/templates/web_aliasdomain_edit.htm
@@ -54,3 +54,34 @@
+
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_domain_advanced.htm b/interface/web/sites/templates/web_domain_advanced.htm
index afc15fb8d609b8a739733e8d76e093793c69899f..92a77c03bf495a529f308a1d0f4908e196ef34b4 100644
--- a/interface/web/sites/templates/web_domain_advanced.htm
+++ b/interface/web/sites/templates/web_domain_advanced.htm
@@ -64,17 +64,9 @@
if(data.servertype == "nginx"){
jQuery('.nginx').show();
jQuery('.apache').hide();
- /*
- jQuery('#allow_override').closest('div.ctrlHolder').hide();
- jQuery('#apache_directives').closest('div.ctrlHolder').hide();
- */
} else {
jQuery('.nginx').hide();
jQuery('.apache').show();
- /*
- jQuery('#allow_override').closest('div.ctrlHolder').show();
- jQuery('#apache_directives').closest('div.ctrlHolder').show();
- */
}
});
}
diff --git a/interface/web/sites/templates/web_domain_redirect.htm b/interface/web/sites/templates/web_domain_redirect.htm
index 8f07bef02a2e227e8c31dd215bc84bf10418df08..14e18271749d4f81aab9dd33a6b70b7928e5fba8 100644
--- a/interface/web/sites/templates/web_domain_redirect.htm
+++ b/interface/web/sites/templates/web_domain_redirect.htm
@@ -26,3 +26,34 @@
+
\ No newline at end of file
diff --git a/interface/web/sites/templates/web_subdomain_edit.htm b/interface/web/sites/templates/web_subdomain_edit.htm
index c0bc0f7ed266c5fe650a74b427b43066dad9d8c9..c9f6a94b27acfe905f07438624e4ea740599d657 100644
--- a/interface/web/sites/templates/web_subdomain_edit.htm
+++ b/interface/web/sites/templates/web_subdomain_edit.htm
@@ -40,3 +40,34 @@
+
\ No newline at end of file
diff --git a/server/conf/nginx_vhost.conf.master b/server/conf/nginx_vhost.conf.master
index 9da8c2bb26fd851c354bd37d282d26be5cfca6d3..ccad2d7560f76151efbff2a235fd6beeefea026e 100644
--- a/server/conf/nginx_vhost.conf.master
+++ b/server/conf/nginx_vhost.conf.master
@@ -10,6 +10,13 @@ server {
server_name ;
root ;
+
+
+
+ if ($http_host ~* "$") {
+ rewrite ^/(.+)$ $1 ;
+ }
+
location / {
index index.html index.php;
@@ -47,7 +54,7 @@ server {
log_not_found off;
}
- location = /favicon.ico {
+ location /favicon.ico {
log_not_found off;
access_log off;
}
@@ -67,6 +74,7 @@ server {
location ~ \.php$ {
+ try_files $uri =404;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
@@ -83,6 +91,7 @@ server {
location /cgi-bin/ {
+ try_files $uri =404;
root ;
gzip off;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 4d8ac0aa5db1410327456a199d5a0c6b4ea4d5d6..cd154f34d53d43d3f4d69cbc8c2c0fd3ae043f6f 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -675,22 +675,24 @@ class nginx_plugin {
}
*/
- $rewrite_rules[] = array( 'rewrite_domain' => $data['new']['domain'],
- 'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':'['.$data['new']['redirect_type'].']',
- 'rewrite_target' => $data['new']['redirect_path']);
-
switch($data['new']['subdomain']) {
case 'www':
- $rewrite_rules[] = array( 'rewrite_domain' => 'www.'.$data['new']['domain'],
- 'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':'['.$data['new']['redirect_type'].']',
+ $rewrite_rules[] = array( 'rewrite_domain' => '^'.$data['new']['domain'],
+ 'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':$data['new']['redirect_type'],
+ 'rewrite_target' => $data['new']['redirect_path']);
+ $rewrite_rules[] = array( 'rewrite_domain' => '^www.'.$data['new']['domain'],
+ 'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':$data['new']['redirect_type'],
'rewrite_target' => $data['new']['redirect_path']);
break;
case '*':
- // TODO
- //$rewrite_rules[] = array( 'rewrite_domain' => '*'.$alias['domain'],
- // 'rewrite_type' => $alias['redirect_type'],
- // 'rewrite_target' => $alias['redirect_path']);
+ $rewrite_rules[] = array( 'rewrite_domain' => $data['new']['domain'],
+ 'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':$data['new']['redirect_type'],
+ 'rewrite_target' => $data['new']['redirect_path']);
break;
+ default:
+ $rewrite_rules[] = array( 'rewrite_domain' => '^'.$data['new']['domain'],
+ 'rewrite_type' => ($data['new']['redirect_type'] == 'no')?'':$data['new']['redirect_type'],
+ 'rewrite_target' => $data['new']['redirect_path']);
}
}
@@ -727,21 +729,25 @@ class nginx_plugin {
$data['new']['redirect_path'] = $data['new']['document_root'].'/web'.realpath($data['new']['redirect_path']).'/';
}
*/
- $rewrite_rules[] = array( 'rewrite_domain' => $alias['domain'],
- 'rewrite_type' => ($alias['redirect_type'] == 'no')?'':'['.$alias['redirect_type'].']',
- 'rewrite_target' => $alias['redirect_path']);
+
switch($alias['subdomain']) {
case 'www':
- $rewrite_rules[] = array( 'rewrite_domain' => 'www.'.$alias['domain'],
- 'rewrite_type' => ($alias['redirect_type'] == 'no')?'':'['.$alias['redirect_type'].']',
+ $rewrite_rules[] = array( 'rewrite_domain' => '^'.$alias['domain'],
+ 'rewrite_type' => ($alias['redirect_type'] == 'no')?'':$alias['redirect_type'],
+ 'rewrite_target' => $alias['redirect_path']);
+ $rewrite_rules[] = array( 'rewrite_domain' => '^www.'.$alias['domain'],
+ 'rewrite_type' => ($alias['redirect_type'] == 'no')?'':$alias['redirect_type'],
'rewrite_target' => $alias['redirect_path']);
break;
case '*':
- // TODO
- //$rewrite_rules[] = array( 'rewrite_domain' => '*'.$alias['domain'],
- // 'rewrite_type' => $alias['redirect_type'],
- // 'rewrite_target' => $alias['redirect_path']);
+ $rewrite_rules[] = array( 'rewrite_domain' => $alias['domain'],
+ 'rewrite_type' => ($alias['redirect_type'] == 'no')?'':$alias['redirect_type'],
+ 'rewrite_target' => $alias['redirect_path']);
break;
+ default:
+ $rewrite_rules[] = array( 'rewrite_domain' => '^'.$alias['domain'],
+ 'rewrite_type' => ($alias['redirect_type'] == 'no')?'':$alias['redirect_type'],
+ 'rewrite_target' => $alias['redirect_path']);
}
}
}