Mark Max Henckel: htaccess: Konflikte mit Umleitung und RewriteCond

Moin,

Brauche dringend htaccess-Hilfe, kenn mich nicht gut aus damit. Lieben Dank schon mal im Voraus!

Situation:
Habe WORDPRESS ist neues in einem Unterverzeichnis installiert und leite dessen Ausgabe auf das Hauptverzeichnis um. Ganz normal.

Dort aber existiert ein altes System, das niemand genau kennt (alter Webmaster ist unauffindbar). Hier werden - aus Gründen, die nicht mehr nachzuvollziehen sind - mit "RewriteRule" virutelle Links (FollowSymLinks) auf die eigentliche Datei umgeleitet. Dabei kommt es offenbar zum Konflikt.

Nach meiner Meinung hat das mit diesen Zeilen zu tun:

RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d

Denn die wichtige Anweisung die auf die korrekte Datei linkt ist diese:

RewriteRule news_(.*)_(.*).html$ news.php?ID=$2

Ich gehe davon aus, dass die Anweisung, die den Konflikt beheben kann, nicht so schwierig ist, aber ich kenne sie eben nicht. Wer weiß die Lösung?

  
RewriteEngine On  
Options +SymLinksIfOwnerMatch  
Options +FollowSymLinks  
# zur Nachrichtenmeldung  
RewriteRule news_(.*)_(.*).html$ news.php?ID=$2  
  
# zur einzelnen Rubrik  
RewriteRule rubriken_(.*)_(.*).html$ news_rubriken.php?rubrik=$2  
  
# Druckversion  
RewriteRule print_(.*)_(.*).html$ print.php?ID=$2  
  
# BEGIN WordPress  
<IfModule mod_rewrite.c>  
RewriteBase /unterverzeichnis/  
RewriteRule ^index\.php$ - [L]  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule . /unterverzeichnis/index.php  
</IfModule>  
# END WordPress

Komm mi nich an die Farv

  1. Hallo,

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

      
    Heißt lediglich, dass was draunter steht nur ausgeführt wird, wenn der Request nicht auf eine Datei (-f) oder einen Ordner (-d) verweist.  
      
    Ansonsten kapier ich den Mix nicht wirklich. Vielleicht solltest Du dir erstmal eine kleine Test-.htaccess in eine Unterverzeichnis basteln und damit genau das probieren, was du willst.  
      
    Gruß  
      
    jobo
    
    1. Hallo,

      RewriteCond %{REQUEST_FILENAME} !-f

      RewriteCond %{REQUEST_FILENAME} !-d

      
      >   
      > Heißt lediglich, dass was draunter steht nur ausgeführt wird, wenn der Request nicht auf eine Datei (-f) oder einen Ordner (-d) verweist.  
      >   
      > Ansonsten kapier ich den Mix nicht wirklich. Vielleicht solltest Du dir erstmal eine kleine Test-.htaccess in eine Unterverzeichnis basteln und damit genau das probieren, was du willst.  
      >   
      > Gruß  
      >   
      > jobo  
        
      Zu Spät. Wir suchen dringend einen Spezialisten, der Artikel eines maroden CMS von einem davongelaufenen Webmaster per .htaccess umleitet ohne dabei die Wordpress-Installation zu beeinträchtigen.  
        
      Ist ein regulärer Job.  
      Bitte melden!
      
  2. Moin!

    Nach meiner Meinung hat das mit diesen Zeilen zu tun:

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

      
    Nein, eher nicht.  
      
    RewriteBase dürfte der Übeltäter sein, denn diese Angabe gilt global innerhalb einer .htaccess.  
      
    Sorge dafür, dass dein Wordpress-Rewriting ohne auskommt.  
      
    Ach ja: Codeauszeichnung "HTML" ist für deinen Code falsch, nimm "Apache"  
    
    > ~~~apache
      
    
    > RewriteEngine On  
    > Options +SymLinksIfOwnerMatch  
    > Options +FollowSymLinks  
    > # zur Nachrichtenmeldung  
    > RewriteRule news_(.*)_(.*).html$ news.php?ID=$2  
    >   
    > # zur einzelnen Rubrik  
    > RewriteRule rubriken_(.*)_(.*).html$ news_rubriken.php?rubrik=$2  
    >   
    > # Druckversion  
    > RewriteRule print_(.*)_(.*).html$ print.php?ID=$2  
    >   
    > # BEGIN WordPress  
    > <IfModule mod_rewrite.c>  
    > RewriteBase /unterverzeichnis/  
    > RewriteRule ^index\.php$ - [L]  
    > RewriteCond %{REQUEST_FILENAME} !-f  
    > RewriteCond %{REQUEST_FILENAME} !-d  
    > RewriteRule . /unterverzeichnis/index.php  
    > </IfModule>  
    > # END WordPress
    
    

    - Sven Rautenberg

    1. Danke.
      Das mit APACHE habe ich nicht gesehen.

      Ich hatte es vorhin ohne "RewriteBase" versucht, klappte aber nicht. Offenbar, weil dieser Abschnitt noch ganz oben stand.

      Jetzt, nach Deinem Hinweis, habe ich es noch einmal versucht und es scheint zu laufen. Wir testen es gerade durch.

      Das heißt also definitiv, dass die REIHENFOLGE in der .htaccess eine entscheidende Rollt spielt. War mir noch nicht so klar ...

      1. 'ǝɯɐu$ ıɥ

        Danke.
        Das mit APACHE habe ich nicht gesehen.

        Tröste dich: da gibts nichts zu sehen.

        ƃ
        ʍopɐɥs

        --
        “Bewahre mich vor der Einbildung, bei jeder Gelegenheit und zu jedem Thema etwas sagen zu müssen. Erhalte mich liebenswert.”
        - Teresa von Avila (1515 – 1582) Schutzheilige des SELFHTML-Forums
        1. Hallo,

          Das mit APACHE habe ich nicht gesehen.
          Tröste dich: da gibts nichts zu sehen.

          was heißt hier "nichts zu sehen"?
          Das steht sogar -wegen A wie Apache- gleich als allererster Eintrag.

          Ciao,
           Martin

          --
          If you believe in telekinesis, raise my hand.
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          1. Hi!

            Das mit APACHE habe ich nicht gesehen.
            Tröste dich: da gibts nichts zu sehen.
            was heißt hier "nichts zu sehen"?

            Du als JavaScript-Meider kannst das vermutlich nicht wissen, aber über dem Nachrichtentext-Feld werden damit ein paar Buttons eingeblendet, mit denen man neben Link- und Bild-Einfügen auch Code auszeichnen kann.

            Das steht sogar -wegen A wie Apache- gleich als allererster Eintrag.

            Allerdings sind davon nur ungefähr die Hälfte der Möglichkeiten als Button vertreten. "apache" gehört zu den nicht "buttonierten".

            Lo!

          2. @@Der Martin:

            nuqneH

            Das steht sogar -wegen A wie Apache- gleich als allererster Eintrag.

            „Die exakte Farbe der einzelnen Sprachbestandteile wird über CSS-Klassen geregelt.“

            Autsch! Über WAS bitte?

            Qapla'

            --
            Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
            (Mark Twain)
          3. 'ǝɯɐu$ ıɥ

            Das mit APACHE habe ich nicht gesehen.
            Tröste dich: da gibts nichts zu sehen.

            was heißt hier "nichts zu sehen"?
            Das steht sogar -wegen A wie Apache- gleich als allererster Eintrag.

            Die meisten (und ich denke auch der OP) orientieren sich aber nur an diesen nupsies:

            und da gibbet nun mal nichts zu sehen.

            ssnɹƃ
            ʍopɐɥs

            --
            “Bewahre mich vor der Einbildung, bei jeder Gelegenheit und zu jedem Thema etwas sagen zu müssen. Erhalte mich liebenswert.”
            - Teresa von Avila (1515 – 1582) Schutzheilige des SELFHTML-Forums