Vanilla 1.1.2 Forum von Lussumo. Weitere Informationen: Dokumentation, Community.

    •  
      CommentAuthorsam
    • CommentTime29.06.2010
     permalink
    Hab das Paket heute nochmal getestet, d.h. MODx neu installiert, das Paket nach Anleitung für eine Domain und 2 Subdomains eingerichtet und habe keine Fehler entdeckt. Die index.php wurde richtig angepasst und die Config-Datei wird auch richtig abgelegt. Funzt so wie es sollte.

    Würde mich über Feedbacks freuen, von Leuten die es getestet haben. Ausserdem stellt sich für mich die Frage ob überhaupt Interesse besteht, das noch zu verbessern, bzw. Pro und Contra XML- oder Backend-Konfiguration.
    •  
      CommentAuthorstefan
    • CommentTime01.07.2010
     permalink
    Moin Sam,

    Ich persönlich glaube das es per Modul am besten wäre, man braucht dann auch keine xml-Datei mehr, höchstens noch als Backup. Die Konfiguration würde ich als serialisiertes Array in die modx_site_settings Tabelle schreiben.

    Die Variante mit TVs ist natürlich schon schnittig, Man muß nix im Modul rummachen, sondern macht die Einstellungen dort wo man sie erwartet, bei den Ordnern selbst. Das hat schon was. Ich weiß jetzt halt auch nicht was wohl am sinnigsten ist und deshalb, ganz wichtig, mache das Ding nicht abhängig davon, ob es jemanden interessiert oder nicht, tue es einfach. Du machst das ja auch für Dich, weils spaß macht, oder liege ich da falsch?

    adios, Stefan
    •  
      CommentAuthorstefan
    • CommentTime02.07.2010
     permalink
    ACHTUNG BUG!

    wenn per modx ein redirect auf ein unterseite ausgelöst wird wie z.B. durch eform, brauchts for den urls die base_url.

    Bitte ändern in documentParser_extended.php

    Methode makeUrl



    function makeUrl($id, $alias= '', $args= '', $scheme= '')
    {
    global $base_url; // geändert


    $parts = explode('/', $url);
    if ($parts[0] === $this->site->alias) {
    unset($parts[0]);
    return $base_url . implode('/',$parts); // geändert
    }
    •  
      CommentAuthorstefan
    • CommentTime21.08.2010
     permalink
    Hallo Leute,

    es gibt ein weiteres Problem, dass mir noch garnicht aufgefallen war. Zum Glück aber der aufmerksamen Céline.

    folgendes, wenn man im Manager auf "Vorschau" drückt, klappt das nicht mit den URLs.

    Der geänderte Parser muß dann natürlich auch in der index.php des Manager eingebunden werden. Dabei hat sich dann noch ein Bug herausgestellt. Beim einlesen der xml-datei wird auf "$modx->config[]" zugegriffen, dass muß aber natürlich "$this->config[]" sein.

    Ok, wie auch immer, anbei die letzte Version mit Beschreibung.

    hasta luego, Stefan
    •  
      CommentAuthorMarc
    • CommentTime21.08.2010
     permalink
    ein Traum.
    • CommentAuthorGerdi
    • CommentTime26.08.2010
     permalink
    Ich überlege gerade, ob ich für mehrere Domains eine einzige MODx-Revo-Installation mache, oder für jede Domain eine eigene Installation.
    Hat eine einzige Installation denn überhaupt Vorteile? Zur Vermeidung von Double Content sollte man ja sowieso nicht so viele gleiche Inhalte auf unterschiedlichen Seiten publizieren. Der Vorteil von mehreren Installationen wäre dagegen, dass man zum Anlegen von neuen Seiten usw. auch nicht immer in Unterordner wechseln muss, was ja auch etwas mühsam sein kann. Oder habe ich bei diesen Überlegungen jetzt irgendwas übersehen?
    Liebe Grüße
    Gerdi
    • CommentAuthorNebulous
    • CommentTime26.05.2011
     permalink
    Hallo zusammen!
    Im Tutorial wird anfangs beim Auflisten der beispielhaften Seitenbaumstruktur im Manager auf gleicher Ebene wie die Domains auch ein Ordner für allgemeine Inhalte angezeigt. Leider wird hier im weiteren Tutorial gar nicht weiter drauf eingegangen. Gibt es dafür denn eine Lösung? Ich würde nämlich gerne domainübergreifende Daten im Seitenbaum hinterlegen können ...
    •  
      CommentAuthorsam
    • CommentTime26.05.2011
     permalink
    Probier getField.
    • CommentAuthoravrantis
    • CommentTime08.09.2011
     permalink
    Hallo!
    Erstmal möchte ich die Arbeit hier wertschätzen, eine Multidomain Lösung ist genau das wonach ich gesucht habe!

    Leider habe ich es auch nach einigen Versuchen nicht geschafft, Stefans letzte Version (multidomain-20100821) für mich ans laufen zu kriegen und würde deswegen gerne diesen Thread wiederbeleben.

    Nachdem ich alles wie nach Anleitung (anwenden.txt) angepasst habe (mit richtigem Pfad zum normalen DocumentParser) spuckt PHP mir direkt auf der ersten Seite (bzw überall) folgende Fehlermeldung aus:
    Parse error: syntax error, unexpected T_RETURN in meine/URL/assets/lib/DocumentParser_Extended.php on line 105
    Das wär' also die Zeile in der Funktion makeUrl:
    return return $this->config['base_url'] . implode('/',$parts);

    Hier ein paar Fakten:
    MODx Evolution 1.0.5
    PHP 5.3.2
    YAMS 1.1.9 ist installiert, allerdings ohne extra RewriteRules.

    Liebe Grüße
    Simon
    •  
      CommentAuthorsam
    • CommentTime08.09.2011
     permalink
    Die Zeile solltereturn $this->config['base_url'] . implode('/',$parts);heissen.

    Falls das trotzdem nicht hinhaut, probier die makeUrl-Funktion so zu ändern:function makeUrl($id, $alias= '', $args= '', $scheme= '')
    {
        $url  = parent::makeUrl($id, $alias, $args, $scheme);
        if (strpos($url,'/') === 0) { // "/domainalias/folder/document.html"
            $url = substr($url,1);
        }
        $parts = explode('/', $url);
        if ($parts[0] === $this->site->alias) {
            unset($parts[0]);
            $url = $this->config['base_url'] . implode('/',$parts);
        }
        if ($other_site = $this->sites['alias'][$parts[0]] ) {
            $parts[0] = $other_site->protocol . $other_site->name;
            $url = implode('/',$parts);
        }
        return str_replace($this->site->alias . "/","",$url);
    }
    • CommentAuthoravrantis
    • CommentTime08.09.2011
     permalink
    Dankeschön! Variante 1 (doppeltes return) war schon alles, der Fehler ist weg.

    Allerdings verträgt sich YAMS nicht so gut damit. Es scheint so, als ob das YAMS Plugin, welches die URLs für die Mehrsprachigkeit passend ändert, automatisch den Alias der Startseite anhängt und die eigentlichen Multidomain Werte überschreibt..
    Zumindest lande ich mit aktivem YAMS plugin immer auf der über die MODx Konfiguration festgelegten Startseite. Wenn ich das Plugin aber deaktiviere funktioniert die Multidomainlösung wieder!

    Irgendeine Idee wie man YAMS mit mehreren Domains vereinen könnte?
    •  
      CommentAuthorsam
    • CommentTime09.09.2011 bearbeitet
     permalink
    Mit YAMS habe ich es noch nicht getestet.
    Als Alternative gibt's aber auch das hier..
    Habe mir auch eine Lösung gebastelt, mit der Hauptsprache im Rootlevel und Ordnern für weitere Sprachen, die ich bei Bedarf auch hier reinstellen kann, müsste sie aber erst noch dokumentieren.

    Ein anderes Problem, welches ich noch nicht lösen konnte, habe ich mit eForm:
    Beim Senden eines Formulars kommt ein HTTP-Fehler 500 (Internal Server Error) und es wird nicht abgeschickt.

    Edit:
    Sorry, war nur ein Fehler in den Parametern des eForm-Snippet-Aufrufs.
    • CommentAuthoravrantis
    • CommentTime11.09.2011
     permalink
    Danke für deine Vorschläge!
    Bei meinem aktuellen Projekt werde ich allerdings nun doch auf eine Multidomainlösung verzichten, die Zeit rennt davon. Wenn ich mal etwas Zeit habe zum Basteln und mit einer brauchbaren Lösung herauskomme, melde ich mich nochmal.
    • CommentAuthorChabatta
    • CommentTime16.03.2012 bearbeitet
     permalink
    Hallo zusammen,

    ich steig in diesem Thread noch nicht ganz durch - wird nun eigentlich noch das Plugin aus der Multidomain Lösung
    http://www.modxcms.de/multidomain-several-domains-modx.html

    benötigt wenn man das letzte File (multidomain-20100821.zip) verwendet?

    Oder ist dieses ZIP File eine weitere Lösung?

    Herzlichen Dank für die Antwort.

    Gruss
    Stefan
    •  
      CommentAuthorsam
    • CommentTime16.03.2012
     permalink
    Oder ist dieses ZIP File eine weitere Lösung?

    Ja.
    Einen Anleitung findest Du im zip-Archiv.
    • CommentAuthorChabatta
    • CommentTime16.03.2012
     permalink
    ok, nun klappt es, zumindest fast. Ich bekomme irgendwie immer Umleitungsfehler.
    Es gibt 3 Domains - domain.com, domain.de und eine mobile.domain.de

    Die Domain domain.com - leitet auf www.domain.com um. Das passt.
    Die Domain domain.de - leitet auf www.domain.de um. Das passt auch.
    Gebe ich die beiden Domain mit www im Browser ein - klappts auch.

    Die Subdomain mobile.domain.de zeigt auch die richtige Seite an wenn man die Domain im Browser eingibt.

    Gibt man aber www.mobile.domain.de an gibt es ein Umleitungsfehler. Und ich blicks gerade nicht wie ich das der .htaccess beibringe das wenn der Benutzer www eingibt es eben auf die mobile.domain.de umleitet.

    Des weiteren habe ich die Detection von http://detectmobilebrowsers.com/ in die .htaccess eingebaut. Wenn ich nun die Seite mit einem mobilen Endgerät aufrufe gibts ebenfalls Umleitungsfehler.

    Die .htaccess sieht wie folgt aus:

    # Zugriff auf domains.xml
    <files 'domains.xml'>
    order allow,deny
    deny from all
    </files>

    Options +FollowSymlinks
    RewriteEngine On
    RewriteBase /

    # Fix Apache internal dummy connections from breaking [(site_url)] cache
    RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
    RewriteRule .* - [F,L]

    # Exclude /assets and /manager directories and images from rewrite rules
    RewriteRule ^(manager|assets)/*$ - [L]
    RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [L]

    # http://domain1.de > http://www.domain1.de
    RewriteCond %{HTTP_HOST} .
    RewriteCond %{HTTP_HOST} ^domain\.de [NC]
    RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

    # http://domain2.de > http://www.domain2.de
    RewriteCond %{HTTP_HOST} .
    RewriteCond %{HTTP_HOST} ^domain\.com [NC]
    RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

    RewriteCond %{HTTP_USER_AGENT} android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|netfront|opera\ m(ob|in)i|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ (ce|phone)|xda|xiino [NC,OR]

    RewriteCond %{HTTP_USER_AGENT} ^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a\ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ |s\ )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(\ i|ip)|hs\-c|ht(c(\-|\ |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(\ |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(\ |\/)|klon|kpt\ |kwc\-|kyo(c|k)|le(no|xi)|lg(\ g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |o|v)|zz)|mt(50|p1|v\ )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\ )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\ )|webc|whit|wi(g\ |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-) [NC]

    RewriteRule ^$ http://mobile.domain.de/ [R,L]

    # For Friendly URLs
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


    Die XML Datei sie wie folgt aus:

    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <domains>
    <domain>
    <name>www.domain.de</name>
    <protocol>http://</protocol>
    <site_id>6</site_id>
    <site_start>1</site_start>
    <error_page>5</error_page>
    <unauthorized_page>5</unauthorized_page>
    <alias>de</alias>
    <keyword>de</keyword>
    </domain>
    <domain>
    <name>www.domain.com</name>
    <protocol>http://</protocol>
    <site_id>10</site_id>
    <site_start>11</site_start>
    <error_page>13</error_page>
    <unauthorized_page>5</unauthorized_page>
    <alias>en</alias>
    <keyword>com</keyword>
    </domain>
    <domain>
    <name>mobile.domain.de</name>
    <protocol>http://</protocol>
    <site_id>7</site_id>
    <site_start>3</site_start>
    <error_page>8</error_page>
    <unauthorized_page>5</unauthorized_page>
    <alias>mobile</alias>
    <keyword>mobile</keyword>
    </domain>
    </domains>


    Wenn ich das alles richtig verstanden habe ist die Ornderbenamung erstmal egal, wichtig ist nur das der Alias übereinstimmt, richtig?

    Modx 1.0.5
    PHP 5.3

    Vielen Dank für euere Unterstützung.

    Gruss
    Stefan
    • CommentAuthorRohal
    • CommentTime03.05.2012
     permalink
    Hi,

    jetzt muss ich auch noch mal eine Frage hierzu loswerden.
    Habe auf Basis Eures Beispiels die Multidomain-Lösung zum laufen gebracht und bin auch sehr begeistert.

    Das einzige was irgendwie nicht klappt ist die „Umschreibung des Startseiten-Alias“.
    Ein Link auf die Startseite führt zur URL:
    http://www.domain1.de/domain1-de.html (das ist der Alias des Domänen-Ordners)

    Hat jemand eine Idee wie ich das lösen kann?

    Vielen Dank.

    Gruß,
    Leif

    P.S. Verwendet habe ich die Datei multidomain-20100821.zip
    • CommentAuthorRohal
    • CommentTime03.05.2012
     permalink
    Ergänzung:
    Die entsprechende Passage in der .htaccess sieht wie folgt aus:

    RewriteCond %{HTTP_HOST} .
    RewriteCond %{HTTP_HOST} ^domain1\.de [NC]
    RewriteCond %{HTTP_HOST} !^www\.domain1\.de [NC]
    RewriteRule (.*) http://www.domain1.de/$1 [R=301,L]
    RewriteRule ^domain1-de\.html$ /index.html

    Wenn ich das 1:1 aus der anwenden.txt übernehme bringt mich der Link auf die Startseite zur definierten 404-Seite.
    •  
      CommentAuthorsam
    • CommentTime03.05.2012
     permalink
    Hi Leif,

    ich benutze eine Unterseite mit dem Alias "index" als Startseite und richte die Domain-Seite (oberste Ebene) als Weblink (Ressourcentyp) ein, welcher auf die "index"-Seite umleitet.
    • CommentAuthorRohal
    • CommentTime04.05.2012
     permalink
    @sam

    Ich habe das jetzt so umgestellt, dass der Domänen-Ordner als Weblink auf die Unterseite (Startseite) verweist. Das funktioniert alles prima, nur leider hat meine Startseite immer noch den Namen „domain1-de.html“ in der URL.
    Das muss man doch irgendwie zu „index.html“ umgeschrieben bekommen?!
    •  
      CommentAuthorsam
    • CommentTime04.05.2012 bearbeitet
     permalink
    Evtl das hier in der "DocumentParser_Extended.php"?

    Edit:
    Hat die neue Startseite "index" als Alias?
    • CommentAuthorRohal
    • CommentTime07.05.2012
     permalink
    Hey sam,

    komischerweise wird jetzt nach dem Wochenende – ohne dass ich noch etwas geändert hätte...
    die Startseite richtig mit „index.html“ angezeigt. Nur leider habe ich jetzt das Problem dass mich die Vorschau in MODX immer auf die „Offline-Page“ leitet... damit hatte ich letzte Woche noch kein Problem...

    Hast Du eine Idee woran das liegen könnte?

    Gruß,
    Leif
    • CommentAuthorRohal
    • CommentTime07.05.2012
     permalink
    Nachtrag:
    Und wenn ich mir die Vorschau des Domänen-Ordners anzeigen lassen möchte, bekomme ich ein „ERROR: Too many forward attempts!

    The request could not be completed due to too many unsuccessful forward attempts.“ um die Ohren gehauen....
    •  
      CommentAuthorsam
    • CommentTime07.05.2012
     permalink
    komischerweise wird jetzt nach dem Wochenende – ohne dass ich noch etwas geändert hätte...
    Dann lag das vermutlich am Browsercache.

    leider habe ich jetzt das Problem dass mich die Vorschau in MODX immer auf die „Offline-Page“ leitet...
    Nur über die Vorschau-Funktion, oder auch wenn Du die URL direkt eingibst? Falls das nur die Vorschau-Funktion betrifft, solltest Du vielleicht Punkt 4 der Anleitung "manager/index.php öffenen" nochmal überprüfen. Außerdem kannst Du probieren, ob es hilft, den Browsercache und MODX-Cache zu leeren.

    Und wenn ich mir die Vorschau des Domänen-Ordners anzeigen lassen möchte, bekomme ich ein „ERROR: Too many forward attempts!
    Könnte ebenfalls mit Pt. 4 der Anleitung oder dem Cache zusammenhängen. Solange das aber "nur" bei der Vorschau aus dem Backend heraus passiert, ist es meiner Meinung nach eher nebensächlich, da der Inhalt ja auf der Startseite ist, auf die die Domain-Seite umgeleitet wird.
    • CommentAuthorRohal
    • CommentTime08.05.2012
     permalink
    Also ich habe MODX- und Browser-Cache geleert – leider ohne Erfolg.

    Noch immer führt mich die Vorschau des Domänen-Ordners zur Fehlermeldung "ERROR: Too many forward attempts!"
    Die Vorschau einer anderen Seite landet auf der definierten "Offline-Page".

    In der manager/index.php lautet es gemäß Anleitung:
    // initiate the content manager class
    include_once "document.parser.class.inc.php";
    include_once '../assets/lib/DocumentParser_Extended.php';
    //$modx = new DocumentParser;
    $modx = new DocumentParser_Extended();
    $modx->loadExtension("ManagerAPI");
    $modx->getSettings();
    $modx->getSites();


    Wäre super wenn mir hier jemand unter die Arme greifen könnte....
    • CommentAuthorRohal
    • CommentTime09.05.2012
     permalink
    Ich habe es jetzt hinbekommen. An dieser Stelle noch mal einen großen Dank an sam der mich hierbei ausgiebig unterstützt hat...
    Warum es erst nicht richtig funktioniert hatte kann ich gar nicht genau sagen, aber ich habe jetzt die Version von sam verwendet wo beim Manager-Login die beiden index.php Dateien modifiziert werden.
    Ich musste hierfür nur die Ordnerberechtigungen entsprechend anpassen.

    Danke an alle, die diese Multidomain-Lösung mitentwickelt haben.
    Coole Sache. :-)
    •  
      CommentAuthorsam
    • CommentTime10.05.2012 bearbeitet
     permalink
    Hier die Version mit PlugIn für automatische Updates der index.php-Dateien. Diese müssen nicht mehr bei der Installation oder nach einem MODX-Upgrade manuell geändert werden. Die Update-Prüfung erfolgt bei jedem Manager-Login (d.h. auch, dass bei einer Neuinstallation die Multidomain-Funktionalität erst beim nächsten Login aktiviert wird). Bei Änderungen wird die jeweilige "index.php" in "index.php.bak" umbenannt und die Originalversion angepasst.

    Habe dieses PlugIn seit MODX 1.0.4 im Einsatz und bisher hat es bei mir beim Update auf 1.0.5 und 1.0.6 zuverlässig funktioniert.

    Zusätzlich können die Domains jetzt einzeln Offline geschaltet werden. Dafür dient die Schaltfläche "Im Menü anzeigen" in der Domain-Ressource.
    Bei der Vorschau der Offline-Ressourcen im Manager ist darauf zu achten, dass diese nur für Offline-Seiten funktioniert, unter deren Domain man im Manager eingeloggt ist.

    Beispiel:
        "meinedomain1.de" -> offline
        "meinedomain2.de" -> online
        "meinedomain3.de" -> offline

    Eingeloggt unter "meinedomain1.de/manager/" -->
        Vorschau für "meinedomain1.de" funktioniert
        Vorschau für "meinedomain2.de" funktioniert
        Vorschau für "meinedomain3.de" funktioniert nicht

    Eingeloggt unter "meinedomain2.de/manager/" -->
        Vorschau für "meinedomain1.de" funktioniert nicht
        Vorschau für "meinedomain2.de" funktioniert
        Vorschau für "meinedomain3.de" funktioniert nicht

    Eingeloggt unter "meinedomain3.de/manager/" -->
        Vorschau für "meinedomain1.de" funktioniert nicht
        Vorschau für "meinedomain2.de" funktioniert
        Vorschau für "meinedomain3.de" funktioniert


    Viel Spaß damit und bitte melden, falls es bei Euch nicht so funktioniert wie es sollte.
    •  
      CommentAuthorStefanie
    • CommentTime11.05.2012
     permalink
    Da an Evo gerade massiv gearbeitet wird, ist es sehr wahrscheinlich, dass das mit dem nächsten größeren Release nicht mehr funktioniert, siehe http://forums.modx.com/thread/74766/bringing-evo-back-to-life-again.

    Diese Lösung muss dann überarbeitet werden. Davon abgesehen sollte man mal sehen, wie das ohne Ersetzung der index.php gehen kann. Technisch steht dem jedenfalls nichts im Wege.
    •  
      CommentAuthorsam
    • CommentTime12.05.2012
     permalink
    @Stefanie:
    Danke für die Info.

    Davon abgesehen sollte man mal sehen, wie das ohne Ersetzung der index.php gehen kann.
    Definitiv. Das war ja schon vor 2 Jahren Thema.
    Hast Du eine Idee, wie man das anders und mit möglichst wenig Geschwindigkeitseinbußen umsetzen könnte?
    •  
      CommentAuthorStefanie
    • CommentTime14.05.2012
     permalink
    Nein, aus dem Stehgreif nicht. Bisher habe ich Evo so oft installiert, wie es notwendig war.

    Aber ich werde das mal im Kopf behalten und mir darüber mal Gedanken machen. Wobei ein Ansatz auch sein kann, das Evo selbst nicht mehr direkt erreichbar ist, und nur die Ressourecen (CSS, JavaScript, Grafiken) und die index.php im Root und im Manager im Web liegen.

    Alle Instanzen nutzen das gleiche Evo, aber haben eigene Medien. Damit könnte man theoretisch sogar unterschiedliche Styles pro Domain in TinyMCE nutzen. Wenn ich so drüber nachdenke, ist das eigentlich richtig cool und gar nicht so schwer umzusetzen.

    Durch die Umstellung auf die Ini-Datei ließen sich mit einer Evo Instanz sogar recht easy unterschiedliche Datenbanken nutzen.
  1.  permalink
    @sam: Danke für deine multidomain Lösung!

    Habe dein letztes Update (multidomain-20120510.zip) in meine Website eingebaut. Es läuft auch. Aaaaaaber ... :)

    Kurz zur Info:
    - modx evo 1.0.6
    - Es sollen 2 Domains zum Einsatz kommen
    - Ich habe zwei Ordner im Backend angelegt (darin liegen auch eine start- + 404-seite)
    - multidomain-20120510 nach der anwenden.txt eingebaut
    - index.php-dateien werden als .bak-datei abgelegt

    Wenn ich nun sub1.domain.de/index.php bzw. sub2.domain.de/index.php aufrufe, bekomme ich die korrekte Seite (Startseite) des jeweiligen Ordner angezeigt. Wayfinder generiert die Navigation ebenfalls korrekt. Passt also.

    Nun zu meinem Problem. Im Ordner für die Domain sub1.domain.de liegt eine Seite "Anfahrt" (id 10). Diese Seite gibt es im Ordner für die Domain sub2.domain.de NICHT. Logischerweise müsste wenn ich sub2.domain.de/index.php?id=10 im Browser eingebe die Fehlerseite von der Domain sub2.domain.de angezeigt werden (da es die Seite hier ja nicht gibt). oder? Bei mir kann man mit beiden Domains alle Seiten (egal in welchem Ordner ) anspringen. Finde ich jetzt nicht wirklich schön ...
    "Benutzerfreundliche URLs" machen es noch komplizierter. Beide Fehlerseiten haben als Alias "404". Sollten jetzt nicht sub1.domain.de/404.html und sub2.domain.de/404.html zwei verschiedene Seiten sein?

    Hab ich irgendwas nicht richtig beachtet oder sitzt im Moment jmd auf meiner Leitung? :)
    •  
      CommentAuthorsam
    • CommentTime18.10.2012 bearbeitet
     permalink
    Bei mir kann man mit beiden Domains alle Seiten (egal in welchem Ordner ) anspringen.
    Über die IDs wird zu der Subdomain umgeleitet, unter welcher die entsprechende Ressource liegt. Hat den Vorteil, dass Links von einer Subdomain zur andern (wie innerhalb von MODX gewohnt) per IDs gesetzt werden können. Diese werden bei eingeschalteten "Benutzerfreundlichen URLs" überschrieben. Würde generell "Benutzerfreundlichen URLs" empfehlen (Stichwort: SEO).

    "Benutzerfreundliche URLs" machen es noch komplizierter. Beide Fehlerseiten haben als Alias "404". Sollten jetzt nicht sub1.domain.de/404.html und sub2.domain.de/404.html zwei verschiedene Seiten sein?
    Die Alias-Namen dürfen identisch sein, müssen aber nicht. Wichtig ist, dass der Eintrag "error_page" in der domains.xml passt. Nur der ist entscheidend dafür, dass die "richtige" Fehlerseite angezeigt wird.
    • CommentAuthorbelimo
    • CommentTime25.10.2012 bearbeitet
     permalink
    Wie habt ihr denn das Problem mit TinyMCE gelöst?

    Meine Ordnerstruktur sie so aus:

    /webcontext (Hauptdomain)
    /// assets
    /// connectors
    /// contextdomain1
    /// contextdomain2
    /// contextdomain3

    Wenn ich über TinyMCE ein Bilder in ein Dokument der Seite contextdomain2.de einfüge, sollte der Pfad ja wie folgt aussehen:

    Erwartetes Resultat: "images/pics1.jpg"
    Tatsächliches Resultat: "contextdomain2/images/pic1.jpg"

    Ändere ich in den Tiny-Einstellungen die Path-Options auf "rootrelative", wird mir sogar sowas ausgegeben: "/assets/components/tinymce/contextdomain2/images/pic1.jpg"

    Habt ihr dazu eine Idee?
    •  
      CommentAuthorsam
    • CommentTime25.10.2012
     permalink
    @belimo
    zur Info:
    Die hier diskutierten Multidomain-Lösungen sind für MODX Evolution (Version 1.0.x) und nicht für MODX-Revolution (Version 2.x.x).

    Wäre vermutlich sinnvoller für dein Problem eine neue Diskussion zu starten und evtl. genauer zu schildern, wie deine Installation aussieht (welche Version von MODX, nach welcher Anleitung du evtl. vorgegangen bist und welche Einstellungen du sonst noch vorgenommen hast).
    • CommentAuthorbelimo
    • CommentTime25.10.2012
     permalink
    Hi Sam

    Ja, da hast du recht. Trotzdem würde mich mal ganz grundsätzlich interessieren: Habt ihr das Pfad-Problem denn in Evo nicht? Wenn ja, warum nicht?
    •  
      CommentAuthorsam
    • CommentTime25.10.2012
     permalink
    Habt ihr das Pfad-Problem denn in Evo nicht? Wenn ja, warum nicht?
    Nein und ehrlich gesagt verstehe ich nicht, was mit dem Pfad nicht stimmt.
    Warum soll angezeigt werden, dass das Bild im Pfad "images" liegt, anstatt in "contextdomain2/images", obwohl es doch tatsächlich dort liegt? Wird es sonst nicht angezeigt? Wenn das der Fall sein sollte, könnte man den Pfad per Output-Filter oder Plugin umschreiben.
  2.  permalink
    hi sam, funktioniert mittlerweile einwandfrei. habe deine version "multidomain-20120510.zip" im einsatz unter modx 1.0.6.

    1. weiter oben wurde beschrieben, dass es ein problem mit der vorschau-funktion im backend gibt. hattest du das gefixt? erhalte folgende seite beim klick auf vorschau:
    www.domain1.de/www-domain1-de/kontakt.html
    z.B. ... Benutzerfreundliche URLs sind aktiviert mit "Benutze benutzerfreundliche Alias-Pfadangaben".

    2. zu meinem anderen problem. wenn ich z.b. folgendes ditto template baue:
    [(site_url)][~[+id+]~]
    erhalte ich als ausgabe
    www.domain1.de//kontakt.html
    wie bekomme ich den slash da weg? :smile: base_url steht im template, htaccess hab ich folgendes ...


    <files 'domains.xml'>
    order allow,deny
    deny from all
    </files>

    RewriteEngine On
    RewriteBase /

    RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
    RewriteRule .* - [F,L]

    RewriteRule ^(manager|assets)/*$ - [L]
    RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [L]

    RewriteCond %{HTTP_HOST} .
    RewriteCond %{HTTP_HOST} ^domain1\.de [NC]
    RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

    RewriteCond %{HTTP_HOST} .
    RewriteCond %{HTTP_HOST} ^domain2\.de [NC]
    RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


    danke für deine hilfe!
    •  
      CommentAuthorsam
    • CommentTime14.01.2013
     permalink
    @johnny_cage:
    zu 1.:
    weiter oben wurde beschrieben, dass es ein problem mit der vorschau-funktion im backend gibt.
    Welchen Beitrag meinst Du?

    erhalte folgende seite beim klick auf vorschau:
    www.domain1.de/www-domain1-de/kontakt.html
    Vermutlich wurde die manager/index.php nicht automatisch vom PlugIn angepasst. Guck doch mal rein, ob Du eine Zeile findest, die so beginnt:// ## changed by multidomain-pluginWenn die nicht vorhanden ist, besitzt MODX vermutlich keine Schreibrechte für die manager/index.php.
    Falls die Zeile jedoch vorhanden ist, sollte der Code darunter so aussehen:include_once '../assets/plugins/multidomain/multidomain.DocumentParser_Extended.php';
    $modx = new DocumentParser_Extended();

    // ## end of changes ##



    zu 2.:
    wie bekomme ich den slash da weg? :smile:
    Wenn PHx istalliert ist, kannst Du ein Snippet mit dem namen phx:substr anlegen:<?php
    if (!strlen($options)) {
        return $output;
    }

    list($start, $length) = explode(',',trim($options));
    if (strlen($output) > ((int) $start + (int) $length)) {
        $output = substr($output, $start, $length);
    }
    return $output;
    ?>
    und so nutzen[(site_url:substr=`0,-1`)]
    • CommentAuthorjohnny_cage
    • CommentTime15.01.2013 bearbeitet
     permalink
    @sam ...

    zu 1.:
    stimmt ... das plugin hat die manager/index.php nicht verändert. hab mir gerade die schreibrecht über filezilla angeschaut. die einstellung ist 666 für diese datei. modx müsste also schreibrechte für diese datei besitzen (ordner manager = 772). kann ich die veränderung nochmal anstoßen oder wird bei jedem login geschaut ob die index.php verändert werden kann? Händisch eintragen macht ja wenig Sinn.

    zu 2.:
    PERFEKT! Funktioniert nun einwandfrei ... danke.
    •  
      CommentAuthorsam
    • CommentTime15.01.2013 bearbeitet
     permalink
    Die Dateirechte sind ok, sollte also funktionieren. Wurde die Änderung in der index.php des MODX-Installationsordners auch nicht gemacht (ähnlich wie oben beschrieben)?

    Die Aufgabe des PlugIns ist, zu prüfen ob die index.php-Dateien angepasst werden müssen oder nicht und diese anzupassen.
    Das kann man zwar auch manuell ohne das PlugIn machen, aber dann muss man das nach jedem Versions-Upgrade von MODX Evolution wiederholen.

    Mein Vorschlag:
    Kopiere beide original index.php-Dateien auf den Server (also in den MODX-Installatios- und den Manager-Ordner) und lösche die Dateien assets/files/.index.php.md5 und assets/files/.manager_index.php.md5.
    Logge dich davor oder danach aus dem Manager-Backend aus und danach wieder ein.
    Falls dann immernoch keine Änderungen in der index.php und der manager/index.php gemacht wurden, funktioniert vermutlich das PlugIn nicht korrekt. Überprüfe in dem Fall ob (wie in Punkt 3 der anwenden.txt) das PlugIn korrekt installiert ist und ob assets/lib/multidomain.check_index.php existiert.
  3.  permalink
    jetzt hat das plugin die index.php im root verändert (changed by multidomain-plugin on Wed, 16 Jan 13 09:43:25 +0100:) und eine index.php.bak abgelegt. außerdem wurde unter assets/files die beiden dateien .index.php.md5 und .manager_index.php.md5 abgelegt.

    in der index.php im manager ordner steht kein eintrag bezüglich dem multidomain-plugin.

    die dateien DocumentParser_Extended.php und multidomain.check_index.php sind im ordner assets/lib vorhanden.

    bin nochmal die komplette anwenden.txt durchgegangen. komisch ...
    • CommentAuthorjohnny_cage
    • CommentTime16.01.2013 bearbeitet
     permalink
    vergiss es! es geht ... danke für deine hilfe und das geniale plugin. :smile:

    hab alles nochmal nach deiner letzten anleitung durchgeführt und nun fluppt es.

    gruß