tbrehm
2009-10-15 3f766875805121f972d1f6a3ec70d38db60ccd17
Fixed a problem with apache rewrite rules.
2 files modified
26 ■■■■ changed files
install/tpl/apache_ispconfig.conf.master 6 ●●●●● patch | view | raw | blame | history
server/plugins-available/apache2_plugin.inc.php 20 ●●●● patch | view | raw | blame | history
install/tpl/apache_ispconfig.conf.master
@@ -13,4 +13,10 @@
    Deny from all
</Directory>
<Directory />
       AllowOverride None
       Order Deny,Allow
       Deny from all
</Directory>
server/plugins-available/apache2_plugin.inc.php
@@ -578,9 +578,15 @@
        // Rewrite rules
        $rewrite_rules = array();
        if($data["new"]["redirect_type"] != '') {
            $data["new"]["redirect_path"] = str_replace('../','',$data["new"]["redirect_path"]);
            if(substr($data["new"]["redirect_path"],-1) != '/') $data["new"]["redirect_path"] .= '/';
            if($data["new"]["redirect_type"] != 'R' && substr($data["new"]["redirect_path"],0,4) != 'http') {
                $data["new"]["redirect_path"] = $data["new"]["document_root"]."/web".realpath($data["new"]["redirect_path"]).'/';
                if($data["new"]["redirect_path"] == '/') {
                    $data["new"]["redirect_path"] = $data["new"]["document_root"]."/web/";
                } else {
                    if(substr($data["new"]["redirect_path"],0,1) != '/') $data["new"]["redirect_path"] = '/'.$data["new"]["redirect_path"];
                    $data["new"]["redirect_path"] = $data["new"]["document_root"]."/web".$data["new"]["redirect_path"];
                }
            }
            
            $rewrite_rules[] = array(    'rewrite_domain'     => $data["new"]["domain"],
@@ -629,9 +635,15 @@
                $app->log("Add server alias: $alias[domain]",LOGLEVEL_DEBUG);
                // Rewriting
                if($alias["redirect_type"] != '') {
                    if(substr($data["new"]["redirect_path"],-1) != '/') $data["new"]["redirect_path"] .= '/';
                    if($data["new"]["redirect_type"] != 'L' && substr($data["new"]["redirect_path"],0,4) != 'http') {
                        $data["new"]["redirect_path"] = $data["new"]["document_root"]."/web".realpath($data["new"]["redirect_path"]).'/';
                    $alias["redirect_path"] = str_replace('../','',$alias["redirect_path"]);
                    if(substr($alias["redirect_path"],-1) != '/') $alias["redirect_path"] .= '/';
                    if($alias["redirect_type"] != 'R' && substr($alias["redirect_path"],0,4) != 'http') {
                        if($alias["redirect_path"] == '/') {
                            $alias["redirect_path"] = $data["new"]["document_root"]."/web/";
                        } else {
                            if(substr($alias["redirect_path"],0,1) != '/') $alias["redirect_path"] = '/'.$alias["redirect_path"];
                            $alias["redirect_path"] = $data["new"]["document_root"]."/web".$alias["redirect_path"];
                        }
                    }
                    $rewrite_rules[] = array(    'rewrite_domain'     => $alias["domain"],
                                                'rewrite_type'         => ($alias["redirect_type"] == 'no')?'':'['.$alias["redirect_type"].']',