michat: webserver verzeichnisstruktur mit m.example.com

Hi,

ich bin dabei zu einen bestehenden Internetauftritt eine mobile Version zu erstellen. Diese soll unter der URL m.example.com erreichbar sein.

Wenn ich das Dokumenten root Verzeichnis von m.example.com neben das Dokumenten root Verzeichnis von example.com lege, kann ich wohl kaum auf den img-Ordner der innerhalb des rootverzeichnisses von example.com liegt zugreifen. Ich müßte die Bilder kopieren, und nach meinem Verständniss würde jede version unabhängig voneinander im browser gecached.

Wie wäre eine sinnvolle Verzeichnisstruktie aufgebaut, mit der man möglichst effektiv den bestehenden Inhalt zusätzlich in einer Version für mobile Geräte (speziell Smartphones) ausliefert?

  1. Vielleicht vereinfacht das folgende die Fragestellung etwas:

    example1.com und m.example1.con liefern die gleichen Bilder aus, gleicher Name, gleiche Auflösung (letzteres aller bisherigen Planung nach).

    Es widerstrebt mir einfach identische Inhalte auf dem Webserver doppelt vorhalten zu müssen (auch wenn heutzutage Webspace kaum ein Problem darstellt). Zudem würden die User beim manuellen Wechsel zwischen PC- und mobiler Version eben diesen identischen Inhalt nochmals herunterladen (der Pfad wäre ja unterschiedlich, selbst wenn ich das img-Verzeichnis per Symlink jeder der beiden Domains zur Verfügung stelle. Und ob mein Shared Hoster überhaupt Symlinks zulässt habe ich noch gar nicht geklärt.

    Die Frage um die es geht lautet also: Wie organisiere ich meine Verzeichnisstruktur auf dem Server um gemeinsame Inhalte zweier Domains (d.h. Domain + Subdomain) nicht doppelt vorhalten zu müssen oder mit unterschiedlichem Pfad (= unterschiedliche Datei im Browsercache) anbieten zu müssen?

  2. Moin!

    ich bin dabei zu einen bestehenden Internetauftritt eine mobile Version zu erstellen. Diese soll unter der URL m.example.com erreichbar sein.

    Nun ja. Das mach nicht mehr. Google mal nach "responsives (Web)Design".

    Da aber des Menschen Wille sein Himmelreich ist beantworte ich auch die anderen Fragen.

    Wie wäre eine sinnvolle Verzeichnisstruktie aufgebaut, mit der man möglichst effektiv den bestehenden Inhalt zusätzlich in einer Version für mobile Geräte (speziell Smartphones) ausliefert?

    Variante 1:

    Unixiode Dateisysteme, also auch das Linux oder BSD auf dem Dein Webserver läuft, haben eine nette Eigenschaft: Man kann Links anlegen. Also etwas machen wie

    www$ cd ../mobil
    mobil$ ln -s ../www/img img
    

    und schon hat man einen Link der sich in vielen Dingen verhält wie der originale Ordner und stets (auf) den gleichen Inhalt zeigt. Wechselt man jetzt also mit cd in den Ordner erhält man den selben Inhalt angezeigt wie im originalen Ordner.

    mobil$ cd img
    ls
    logo.png tollesBild.jpg 
    

    Variante 2:

    Was hindert Dich daran, die Ressourcen von einer URL der anderen Domain zu laden? Du musst dazu lediglich die vollständige URL angeben. Also statt

    <img src="img/tollesBild.jpg" …>
    

    oder

    <img src="http://www.example.com/img/tollesBild.jpg" …>
    

    besser:

    <img src="http://example.com/img/tollesBild.jpg" >
    

    Jörg Reinholz

    1. Moin!

      ich bin dabei zu einen bestehenden Internetauftritt eine mobile Version zu erstellen. Diese soll unter der URL m.example.com erreichbar sein.

      Nun ja. Das mach nicht mehr. Google mal nach "responsives (Web)Design".

      Ich gebe dir vollkommen recht, was RWD betrifft. Das ist für diesen Auftritt in Schritt zwei auch geplant, wird mir aber gehörig Zeit abnötigen (ich mache Webdesign nicht als Profi, aber wenn ich etwas mache, dann so gut durchdache wie mir nur möglich). Deshalb möchte ich auf die schnelle diese mobile Version anbieten, weil die in diesem Fall, soweit es das Design betrifft, recht einfach umzusetzen ist.

      Variante 1:

      ... Man kann Links anlegen.

      Weiß nicht ob mein Sharehoster das erlaubt, mal sehen ...

      Variante 2:

      ... die Ressourcen von einer URL der anderen Domain zu laden?

      ok, dann muss ich in der mobilen Version mit absoluten Pfaden arbeiten, wäre eine Möglichkeit, die mir zwar nicht gefällt, aber immerhin ein Vorschlag.

      Danke.

      1. Moin!

        Variante 1:

        ... Man kann Links anlegen.

        Weiß nicht ob mein Sharehoster das erlaubt, mal sehen ...

        Wenn Du einen SSH-Zugang hast wird er das nicht verhindern können und auch per FTP kann man Links anlegen. Es ist häufiger eine Frage des Clients. WinSCP behauptet, dass es das kann. Ich kann das jetzt nicht nachprüfen, denn ich benutze Windows nur zum Siedler-Spielen.

        Jörg Reinholz

        1. Debian/sid hier, mit filezilla ;-)

          Die Dokumentenwurzel (Document Root) sorgt dafür, dass ich auf dem Server in kein Verzeichnis gelange was außerhalb/oberhalb/neben der Dokumentenwurzel liegt. Wenn example.com/, m.example.com/ und img/ auf dem server unterhalb von html/, aber nebeneinander liegen, dann könnte ich (ausser durch das anlegen eines Symlinks oder wenn ich img/ eine eigene Subdomain zuweise und die Bilder mit absolutem Pfad aufrufe ) den img/ ordner mit keinem der beiden Webauftritte erreichen.

          Unterm Strich scheint mir die Symlink Lösung die klarste. Sollte eigentlich außer ein paar Bit RAM den Server auch nicht weiter belasten?

          1. Moin!

            Unterm Strich scheint mir die Symlink Lösung die klarste. Sollte eigentlich außer ein paar Bit RAM den Server auch nicht weiter belasten?

            Nun ja. Nicht ohne Grund habe ich diese an erster Stelle genannt :)

            Jörg Reinholz

            1. Nun ja. Nicht ohne Grund habe ich diese an erster Stelle genannt :)

              Was mir jedoch zu denken gibt ist dass, googelt man danach, es immer den Hinweis gibt, dass Symlinks im Webserver nicht empfohlen werden oder deren Einsatz als "bad practice" bezeichnet wird. Sicherheitgesichtspunkte spielen hier zwar keine große Rolle (rein informative Seite). Letzlich spricht das dafür möglichst bald ein übergreifendes Angebot mit responsivem Design zu erstellen.

              1. Habe eben nachgeschaut: Expliziten ssh zugriff habe ich nicht, jedoch SCP und SFTP zugriff. HAbe mir das eben mit filezilla, welchen ja SFTP unterstützt angeschaut, komme aber nicht auf den Trichter wie ich hiermit eine SFTP Verbindung aufbaue. Per reinem FTP (also nicht SFTP) einen Link hochzuladen scheint mir von den Userrechten her möglicherweise problematisch.

                Nutze du vielleicht auch Filezilla und kannst nen Tipp zum Verbindungsaufbau geben?

                1. Hallo michat,

                  Habe eben nachgeschaut: Expliziten ssh zugriff habe ich nicht, jedoch SCP und SFTP zugriff. HAbe mir das eben mit filezilla, welchen ja SFTP unterstützt angeschaut, komme aber nicht auf den Trichter wie ich hiermit eine SFTP Verbindung aufbaue.

                  grundsätzlich kannst Du im Filezilla das Protokoll unter Datei > Servermanager auswählen. Bei mir funktioniert der Verbindungsaufbau dann manchmal, manchmal nicht. Ich hab aber noch nicht rausfinden können, ob das an Filezilla oder den entsprechenden Servern liegt.

                  Per reinem FTP (also nicht SFTP) einen Link hochzuladen scheint mir von den Userrechten her möglicherweise problematisch.

                  Ich behelfe mir manchmal so, dass ich (entsprechende Rechte vorausgesetzt) den Link über eine Programmiersprache erzeuge (z.B. symlink in PHP). Ist zwar nicht so schön, erfüllt aber seinen Zweck. Kurz hochladen, ausführen und wieder löschen.

                  Gruß, Dennis

                  1. grundsätzlich kannst Du im Filezilla das Protokoll unter Datei > Servermanager auswählen. Bei mir funktioniert der Verbindungsaufbau dann manchmal, manchmal nicht.

                    Ja, das man das im Servermanager einstellt habe ich mittlerweile herausgefunden. Leider kommt bei mir jedoch nie eine Verbindung zustande.

                    Ich hab aber noch nicht rausfinden können, ob das an Filezilla oder den entsprechenden Servern liegt.

                    Ich habe mich mal an den Hoster gewandt. Mal schaun was die antworten.

                    Ich behelfe mir manchmal so, dass ich (entsprechende Rechte vorausgesetzt) den Link über eine Programmiersprache erzeuge (z.B. symlink in PHP). Ist zwar nicht so schön, erfüllt aber seinen Zweck. Kurz hochladen, ausführen und wieder löschen.

                    Hört sich interesant an, überfordert mich jedoch komplett.

                    1. Hallo michat,

                      grundsätzlich kannst Du im Filezilla das Protokoll unter Datei > Servermanager auswählen. Bei mir funktioniert der Verbindungsaufbau dann manchmal, manchmal nicht.

                      Ja, das man das im Servermanager einstellt habe ich mittlerweile herausgefunden. Leider kommt bei mir jedoch nie eine Verbindung zustande.

                      nur um das schon mal auszuschließen: Hast Du Port 22 ausprobiert? Das ist zumindest der Standard-Port für SFTP.

                      Ich hab aber noch nicht rausfinden können, ob das an Filezilla oder den entsprechenden Servern liegt.

                      Ich habe mich mal an den Hoster gewandt. Mal schaun was die antworten.

                      Da bin ich mal auf die Antwort gespannt. Ich hab da meistens die sehr aussagekräftige Antwort "müsste aber gehen" bekommen.

                      Ich behelfe mir manchmal so, dass ich (entsprechende Rechte vorausgesetzt) den Link über eine Programmiersprache erzeuge (z.B. symlink in PHP). Ist zwar nicht so schön, erfüllt aber seinen Zweck. Kurz hochladen, ausführen und wieder löschen.

                      Hört sich interesant an, überfordert mich jedoch komplett.

                      Glaub ich nicht. Wenn Du es schaffst, bei Dir lokal einen Link anzulegen, solltest Du auch das hinbekommen. Statt lokal einen Link anzulegen und dann hochzuladen, machst Du folgendes: Du schreibst Dir ein Skript (mit PHP muss da dann grundsätzlich nur die symlink-Funktion drinstehen, Du kannst aber natürlich auch noch Überprüfungen o.ä. einbauen). Das Skript lädst Du dann anstelle des lokal erzeugten Links auf den Server. Dann rufst Du das Skript auf dem Server auf und es erstellt Dir den Link direkt auf dem Server. Anschließend kannst Du das Skript dann wieder vom Server löschen, den Link hast Du ja jetzt.

                      Gruß, Dennis

  3. ich bin dabei zu einen bestehenden Internetauftritt eine mobile Version zu erstellen. Diese soll unter der URL m.example.com erreichbar sein.

    Dass es grundsätzlich möglich ist, mit CSS Seiten automatisch so aufzubereiten, dass sie auch auf kleine Bildschirme passen, wird dir sicherlich bekannt sein. Eine Mobilversion braucht es eigentlich nur, wenn der Informationsgehalt ein deutlich anderer sein soll.

    Wie wäre eine sinnvolle Verzeichnisstruktie aufgebaut, mit der man möglichst effektiv den bestehenden Inhalt zusätzlich in einer Version für mobile Geräte (speziell Smartphones) ausliefert?

    Möchtest du gleiche Inhalte beider Domains auf dem Server nur einmal vorhalten, kannst du einen Verweis im Dateisystem anlegen, so dass /srv/www/example.com/bilder/ auf /srv/www/m.example.com/bilder zeigt. Alternativ kannst du diese Inhalte in einem gänzlich separaten Verzeichnis ablegen, welches unter einer dritten Domain erreichbar ist, meinetwegen bilder.example.com. Es spricht, als dritte Möglichkeit, auch nichts dagegen, statt m.example.com/ example.com/m/ zu benutzen.

    nach meinem Verständniss würde jede version unabhängig voneinander im browser gecached.

    Praktisch irrelevant, denn kein Browser, egal ob am Rechner oder im Telefon, wird üblicherweise mal auf diese, mal auf jene Seite zugreifen. Beim ersten Besuch verirrt sich der eine oder andere auf die falsche Version, aber danach nur noch in Form eines Betriebsunfalls.

    1. ... Eine Mobilversion braucht es eigentlich nur, wenn der Informationsgehalt ein deutlich anderer sein soll.

      Die mobile Variante ist nur eine temporäre Lösung bis die Version im responsive Design erstellt ist, was bei mir etwas dauern wird. Ein Knackpunkt dabei ist, dass sich meiner vorläufigen Überlegung nach die Reihenfolge der einzelnen Blöcke ändern muß, je nachdem ob ich die Webseite als langen Schlauch (für Smartphones) oder im Landscape Format für PCs ausliefere (mit entsprechenden Zwischenstufen). Aber das ist natürlich ein anderes Problem als das hier nagefragte ...

      ... Es spricht, als dritte Möglichkeit, auch nichts dagegen, statt m.example.com/ example.com/m/ zu benutzen.

      Wenn da aus SEO sicht auch nichts dagegen spricht wäre dies technisch vielleicht die einfachste Lösung. Allerdings sehe ich die Subdomain-Lösung als die sauberere.

      Danke.

  4. Hallo,

    ich bin dabei zu einen bestehenden Internetauftritt eine mobile Version zu erstellen. Diese soll unter der URL m.example.com erreichbar sein.

    Google mal nach "Desktop Web", das sind spezielle Webseiten, die man ausliefert, wenn der User nicht übers "Mobile Web" hereinkommt.

    Gruß
    Kalk