Summi: RewriteRule Weiterleitung bzw. durchleitung

Zur Bestätigung meiner Webseite muss ich eine Datei aucf meinen Webspace hochladen:

googlehttrh567z6h6h6.html

da ich aber die ganzen Seite über eine htaccess steuere wird diese Seite abgefangen. Das soll sie natürlich nicht. Ich habe mir gedacht das es so eigentlich funktionieren müsste, aber leider TUT es das nicht.

Weis jemand was ich da falsch mache?

RewriteRule ^google(.*).html google$1.html

  1. Moin

    RewriteRule ^google(.*).html google$1.html

    So leitest du an sich selbst weiter. ABER es ist nicht die letzte Regel, so dass wahrscheinlich deine weiteren Regeln greifen werden (das Umschreiben)

    Du musst hier das Flag für "Last" mit geben

    RewriteRule ^google(.*).html google$1.html [L]

    Gruß Bobby

    --
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <- ### Henry L. Mencken ### -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <- ### Viktor Frankl ### ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
  2. Tach!

    Zur Bestätigung meiner Webseite muss ich eine Datei aucf meinen Webspace hochladen: da ich aber die ganzen Seite über eine htaccess steuere wird diese Seite abgefangen. Das soll sie natürlich nicht.

    Üblicherweise nimmt man existierende Dateien und Verzeichnisse vom Umschreiben aus:

    RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .... <- deine Generalumschreibung

    dedlfix.

    1. Moin

      Üblicherweise nimmt man existierende Dateien und Verzeichnisse vom Umschreiben aus:

      Wollte ich auch zuerst antworten. dann habe ich mir aber gedacht, dass die Anforderung ans System so gestaltet sein könnte, dass der direkte Zugriff auf existierende Dateien generell verhindert werden soll.

      Darum die vom OP gesetzte, ja nicht falsche Rule, einfach mit dem Flag 'Last' versehen. Natürlich könnte man auch eine extra Condition schreiben um die eine Datei vom Umschreiben auszuschließen. Dies schien mir aber zuviel des Guten. Manchmal sind die einfachsten Lösungen die Zielführendsten.

      Was natürlich  nicht heißen soll dass deine Antwort grundsätzlich falsch wäre.

      Gruß Bobby

      --
      -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <- ### Henry L. Mencken ### -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <- ### Viktor Frankl ### ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
      1. Tach!

        Üblicherweise nimmt man existierende Dateien und Verzeichnisse vom Umschreiben aus: Wollte ich auch zuerst antworten. dann habe ich mir aber gedacht, dass die Anforderung ans System so gestaltet sein könnte, dass der direkte Zugriff auf existierende Dateien generell verhindert werden soll.

        Wenn das der Fall ist, kann er immer noch intervenieren. Und dann kann man weiterbohren und fragen, warum sie im DocumentRoot liegen, wenn sie gar nicht ausgeliefert werden sollen?

        Darum die vom OP gesetzte, ja nicht falsche Rule, einfach mit dem Flag 'Last' versehen.

        Einfach ist ein solches L zwar gesetzt, aber ganz so einfach arbeitet es nicht. Sicher, es beendet die Abarbeitung der RewriteRules. Aber der umgeschriebene Request dreht im Apachen intern erneut eine Runde. Und diese Runde kommt wieder an allen Regeln vorbei, auch wenn sie früher schon abgearbeitet wurden, L hin oder her.

        Es kann gut sein, dass das L in dem Fall schon hilft, aber warum nicht gleich eine generell übliche und für andere solche Fälle ebenfalls anwendbare Lösung mit geringen Aufwand vorschlagen?

        dedlfix.

        1. Moin

          Wenn das der Fall ist, kann er immer noch intervenieren. Und dann kann man weiterbohren und fragen, warum sie im DocumentRoot liegen, wenn sie gar nicht ausgeliefert werden sollen?

          Das stimmt grundsätzlich. war aber nicht Teil der Frage.

          Es kann gut sein, dass das L in dem Fall schon hilft, aber warum nicht gleich eine generell übliche und für andere solche Fälle ebenfalls anwendbare Lösung mit geringen Aufwand vorschlagen?

          Weil es für manche vielleicht einen Overhead an Input bedeutet. ;)

          Gruß Bobby

          --
          -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <- ### Henry L. Mencken ### -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <- ### Viktor Frankl ### ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)