Alex.: URI mit Tilde im Namen

Hallo,

meine Seiten liegen auf einem Apache Server in einem Unterverzeichnis mit einer Tilde im Namen (z. B. http://www.meine-domain.de/~home/).

Das Problem ist, dass andere Leute die Seite mal mit /~home/ und mal mit /%7Ehome/ verlinken, also die Tilde (~) durch %7E ersetzen. Das ist an sich äquivalent und korrekt (ich habe auch mal gelesen, dass %7E die bessere, weil sicherere Form ist -- sieht nur sch...e aus).

Nur im Browsercache (zumindest bei Mozilla) und in der Browser-Adressleiste werden beide Schreiweisen der selben Seite als 2 unterschiedliche Seiten betrachtet. Das wiederum ist unpraktisch, weil die Seiten dann evtl. doppelt geladen werden müssen und nicht aus dem Cache genommen werden können. Ausserdem weiss ich nicht, ob die Suchmaschinen auch beide Schreibweisen als 2 verschiedene Seiten ansehen, was ja nachteilig für das Ranking wäre.

Nun die Frage: ist jemandem eine Lösung bekannt, z. B. mittels Redirect (in .htaccess) alle Seiten, die mit /%7Ehome/ beginnen, auf ihr Pendant mit /~home/ umzuleiten, damit nur noch eine Schreibweise benutzt wird? Alle meine Versuche mit RedirectMatch scheiterten -- ich habe den Eindruck, dass Apache ~ und %7E als völlig äquivalent ansieht und ich somit nicht nach einer der beiden Schreibweisen filtern kann. Aber vielleicht (hoffentlich) liege ich da ja falsch...

Grüße, Alex.

  1. Hallo,

    ist jemandem eine Lösung bekannt...

    Ich hab da keine Ahnung von, aber warum richtest Du Dir nicht ein Verzeichnis mit vernünftigem Namen ein?

    Gruß, Andreas

    --
    <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
    http://was-ist-das.andreas-lindig.de
    1. Hallo,

      ist jemandem eine Lösung bekannt...

      Ich hab da keine Ahnung von, aber warum richtest Du Dir nicht ein Verzeichnis mit vernünftigem Namen ein?

      Gruß, Andreas

      Weil er das u.U. automatisieren will.

      1. Weil er das u.U. automatisieren will.

        und was hat das mit der Tilde zu tun?

        Gruß, Andreas

        --
        <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
        http://was-ist-das.andreas-lindig.de
        1. Weil er das u.U. automatisieren will.

          und was hat das mit der Tilde zu tun?

          Gruß, Andreas

          auf vielen Unixsystemen ist standardmäßig der Apache so eingestellt, daß man das Homeverz. des Users mit /~name ansprechen kann.
          Wenn ich also einen neuen User anlege, brauche ich mich nicht weiter um irgendwelche Benamsung kümmern.

          Gruß
          Reiner

        2. Hello,

          Weil er das u.U. automatisieren will.

          und was hat das mit der Tilde zu tun?

          das sit die default-Kennung für die Home-Ersetzung des Users. Ich vermute sogarn, er meinte

          /home/username/public_html  mit ~

          Macht der Apache eben out-of-the-box so.

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          1. Hi,

            das sit die default-Kennung für die Home-Ersetzung des Users. Ich vermute sogarn, er meinte

            /home/username/public_html  mit ~

            genau; und ich vermute darüber hinaus, daß Alex nicht www.meineDomain.de sondern www.meinProvider.de meinte.
            Mein lokaler Internetprovider macht das leider auch so bei dem im Anbindungspreis enthaltenen Webspace.

            freundliche Grüße
            Ingo

        3. Hallo,

          Weil er das u.U. automatisieren will.

          und was hat das mit der Tilde zu tun?

          Vereinfacht gesagt:
          Gewisse Unix- bzw. Linux-Systeme machen
          automatisch fuer jeden Benutzer, den man
          anlegt, ein Unterverzeichnis, in welches
          der Benutzer dann Dateien speichern bzw.
          hochladen kann.
          Dieses Unterverzeichnis ist dann ueber
          den Webserver erreichbar unter
          blabla/~Benutzername

          Wahrscheinlich gibt es Loesungen, um dies
          auch anders zu loesen, aber es ist AFAIK
          das Standard-Verhalten und somit fuer
          den Server-Administrator die bequemste
          "Loesung".
          Wie erwaehnt, hat die Tilde fuer Seiten-Besucher
          grosse Nachteile, und man sollte sie vermeiden,
          weil URLs bekanntlich ein Teil des User
          Interfaces sind.
          http://www.useit.com/alertbox/990321.html
          und eben Punkt 9 (von dort war die Grafik) in:
          http://www.useit.com/alertbox/20021223.html

          Gruesse,

          Thomas

          --
          Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
          Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
          Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
          1. Hallo Thomas,

            http://www.useit.com/alertbox/20021223.html

            lustige Seite. Danke :)

            Gruß, Andreas

            --
            <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
            http://was-ist-das.andreas-lindig.de
  2. Hallo,

    ich habe auch mal gelesen, dass %7E die bessere, weil sicherere Form ist

    Genau.
    Diese Zeichen kann auch ein durchschnittlicher
    Benutzer ohne grosse Kraempfe eintippen.
    Und sie sind auf "jeder" Tastatur aufgedruckt.

    Die Tilde braucht Spezialwissen.
    Auf Mac-Tastaturen ist sie AFAIK nicht aufgedruckt.
    Benutzer hassen sie:
    http://www.useit.com/alertbox/20021223_09_mistake.gif
    ;-)

    -- sieht nur sch...e aus).

    Die Tilde finde _ich_ viel versch** als %7E.

    Da die beiden Schreibweisen aequivalent sind, bezweifle
    ich, dass Du den Apache dazu bewegen kannst, etwas zu tun.

    Am besten waere IMHO ein Verzicht auf die Tilde.

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
  3. Hi,

    meine Seiten liegen auf einem Apache Server in einem Unterverzeichnis mit einer Tilde im Namen (z. B. http://www.meine-domain.de/~home/).
    Das Problem ist, dass andere Leute die Seite mal mit /~home/ und mal mit /%7Ehome/ verlinken, also die Tilde (~) durch %7E ersetzen. Das ist an sich äquivalent und korrekt (ich habe auch mal gelesen, dass %7E die bessere, weil sicherere Form ist -- sieht nur sch...e aus).

    Weglassen der Tilde wäre am Einfachsten.

    Ansonsten:
    per mod_rewrite (NICHT mod_redirect) ein von außen kommendes _username oder -username oder .username oder ... auf ~username abbilden.
    Dann taucht das problematische Zeichen draußen nicht auf.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.mud-guard.de/
  4. Holla, die Antworten kommen ja so schnell, dass man sich nicht mal 'ne Stunde Abwesenheit erlauben darf :-)

    Also, also ich war etwas unpräzise mit der Beschreibung "meine-domain". Richtig müßte es heissen: http://www.meine-universitaet.de/~arbeitsgruppe/
    Es handelt sich also um unsere Arbeitsgruppenhomepage an der Uni. Jede Arbeitsgruppe oder Person hat einen Account auf dem UNIX-Rechner und es ist, wie ja schon richtig erklärt wurde, standardmäßig so, dass man die Homepage eines jeden Accounts unter /~arbeitsgruppe/ ansprechen kann.

    Da ich jetzt nicht veranlassen kann und will, dass diese Namensgebung Uni-weit geändert wird, müssen wir damit leben. Ebenso möchte ich keinen neuen Alias wie /arbeitsgruppe/ einrichten lassen, weil unsere Adresse mit Tilde schon ziemlich bekannt ist (natürlich nur in Fachkreisen) und eine Änderung unnötig Unruhe stiften würde.

    Deshalb kann ich mir eine mögliche Lösung des Problems auch nur mit RedirectMatch vorstellen. (Aber wer weiss, wie groß mein Vorstellungsvermögen ist? :-) Und bei RedirectMatch habe ich halt das beschriebene Problem mit der Un-Unterscheidbarkeit zwischen ~ und %7E.

    Schon mal vielen Dank für das rege Interesse...

    Grüße, Alex.

  5. Moin!

    Das Problem ist, dass andere Leute die Seite mal mit /~home/ und mal mit /%7Ehome/ verlinken, also die Tilde (~) durch %7E ersetzen. Das ist an sich äquivalent und korrekt (ich habe auch mal gelesen, dass %7E die bessere, weil sicherere Form ist -- sieht nur sch...e aus).

    Diese beiden Schreibweisen sind absolut gleichwertig. Es hängt vom Browser ab, ob er die Tilde in %7E umsetzt, oder nicht. Mein Opera beispielsweise setzt Leerzeichen in URLs (die da absolut nicht hingehören) automatisch in %20 um.

    Das Problem der Nicht-Erkennbarkeit ist, dass dein Webserver die Rückübersetzung schon erledigt hat, bevor irgendein Modul die URL auslesen könnte.

    Ich sehe dein Problem nicht. Die zwei Schreibweisen bezeichnen eindeutig dieselbe URL. Deshalb kann es nicht zum Doppeltladen kommen (und mal ehrlich: Wen interessiert das wirklich? Wäre ja doch ohnehin nur beim ersten von extern gelinkten Seitenaufruf relevant. Ein Redirect auf die richtige Seite ist viel schlimmer in dieser Hinsicht.).

    Ausserdem weiss ich nicht, ob die Suchmaschinen auch beide Schreibweisen als 2 verschiedene Seiten ansehen, was ja nachteilig für das Ranking wäre.

    Nicht wirklich, würde ich meinen. Außerdem würde ich annehmen, dass Suchmaschinen sehr wohl in der Lage sind, solche identischen URLs rauszufiltern. Weil das etwas grundsätzlich anderes ist, als denselben _Inhalt_ unter _technisch unterschiedlichen_ Domains zu verbreiten.

    Du machst dir irre Gedanken dort, wo absolut keinerlei Problematisierung angebracht ist. Echt nicht.

    - Sven Rautenberg

    --
    Die SelfHTML-Developer sagen Dankeschön für aktuell 21335,05 Euro Spendengelder!
    1. Diese beiden Schreibweisen sind absolut gleichwertig. Es hängt vom Browser ab, ob er die Tilde in %7E umsetzt, oder nicht. Mein Opera beispielsweise setzt Leerzeichen in URLs (die da absolut nicht hingehören) automatisch in %20 um.

      Guter Hinweis: ich hatte bisher nur MozillaFirebird und IE6.0 ausprobiert. Bei den beiden Browsern wird halt ~ und %7E nicht wie das gleiche Zeichen behandelt. Habe gerade auch Opera ausprobiert: dort besteht mein Problem nicht, weil das %7E sofort in ~ umgewandelt wird.

      Das Problem der Nicht-Erkennbarkeit ist, dass dein Webserver die Rückübersetzung schon erledigt hat, bevor irgendein Modul die URL auslesen könnte.

      Die Erklärung ergibt Sinn.

      Ich sehe dein Problem nicht. Die zwei Schreibweisen bezeichnen eindeutig dieselbe URL. Deshalb kann es nicht zum Doppeltladen kommen (und mal ehrlich: Wen interessiert das wirklich? Wäre ja doch ohnehin nur beim ersten von extern gelinkten Seitenaufruf relevant. Ein Redirect auf die richtige Seite ist viel schlimmer in dieser Hinsicht.).

      Mich nervt es trotzdem. Bsp: bin auf /~arbeitsgruppe/, folge Link zu /~anderermitarbeiter/, suche dort was auf dessen Unterseiten, will wieder zurück zu "uns", klicke dafür auf einen Link zu /%7Earbeitsgruppe/ und dann wird die Seite wieder vollständig neu geladen (inkl. aller Bilder, weil die dann ja auch vom Browser [MozFirebird und IE6] als /%7Earbeitsgruppe/bild.gif neu angefragt werden). Wenn man das von zu Hause mit 56K-Modem macht, stört es halt. Dazu kommt noch, dass die Adresszeile im Browser ästhetisch verunstaltet ist. :-)

      Zugegeben, es gibt größere Probleme auf dieser Welt und auch im Internet, aber optimal ist dieses Vorgehen der Browser halt nicht.

      Im Zusammenhang mit Obenstehendem erkenne ich aber, dass es kein Server- oder Apache-Problem, sondern vielmehr ein Browserproblem von Mozilla und IE ist, welches ich serverseitig lösen wollte. Und das scheint nicht zu gehen.

      Ausserdem weiss ich nicht, ob die Suchmaschinen auch beide Schreibweisen als 2 verschiedene Seiten ansehen, was ja nachteilig für das Ranking wäre.

      Nicht wirklich, würde ich meinen. Außerdem würde ich annehmen, dass Suchmaschinen sehr wohl in der Lage sind, solche identischen URLs rauszufiltern. Weil das etwas grundsätzlich anderes ist, als denselben _Inhalt_ unter _technisch unterschiedlichen_ Domains zu verbreiten.

      Hoffen wir, dass die Spider der Suchmaschinen besser sind als die beiden genannten Browser.

      Du machst dir irre Gedanken dort, wo absolut keinerlei Problematisierung angebracht ist. Echt nicht.

      Okay, okay, ich finde den jetzigen Zustand trotzdem verbesserungswürdig. :-)

      Grüße, Alex.

      1. Hello Alex,

        Mich nervt es trotzdem. Bsp: bin auf /~arbeitsgruppe/, folge Link zu /~anderermitarbeiter/, suche dort was auf dessen Unterseiten, will wieder zurück zu "uns", klicke dafür auf einen Link zu /%7Earbeitsgruppe/ und dann wird die Seite wieder vollständig neu geladen (inkl. aller Bilder, weil die dann ja auch vom Browser [MozFirebird und IE6] als /%7Earbeitsgruppe/bild.gif neu angefragt werden). Wenn man das von zu Hause mit 56K-Modem macht, stört es halt. Dazu kommt noch, dass die Adresszeile im Browser ästhetisch verunstaltet ist. :-)

        Da es sich ja scheinbar um einen eigenen Firmenserver handelt, würde ich mal versuchen, diese Voreinstellungen zu ändern. In den Dokus zur httpd.conf gibt es genügend Hinweise, wie das geht. Ggf. muss man aber auch an der Linux-Konfiguration noch etwas schrauben, da die Tilde da ja auch für HOME des Users steht. Weiß ich leider nicht.

        testserver:~#

        Ist z.B. das Home-Directory für Root auf meinem Testserver.

        thomas@testserver:~$

        Und dies ist dann mein eigenes Home-Directory (User = thomas)

        Der Apache greift diese Darstellung auf und macht dann public_html draus.

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    2. Hello,

      Diese beiden Schreibweisen sind absolut gleichwertig. Es hängt vom Browser ab, ob er die Tilde in %7E umsetzt, oder nicht. Mein Opera beispielsweise setzt Leerzeichen in URLs (die da absolut nicht hingehören) automatisch in %20 um.

      Sehen das alle Browser auch so?

      Ich sehe dein Problem nicht. Die zwei Schreibweisen bezeichnen eindeutig dieselbe URL. Deshalb kann es nicht zum Doppeltladen kommen (und mal ehrlich: Wen interessiert das wirklich? Wäre ja doch ohnehin nur beim ersten von extern gelinkten Seitenaufruf relevant. Ein Redirect auf die richtige Seite ist viel schlimmer in dieser Hinsicht.).

      Ich sehe sein Problem schon. Wenn man mit Sessions, Cookies oder Credentntials arbeitet, gibt es regelmäßig Probleme bei diesen URLs. Man muss sie also besser vermeiden.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen