Gustav: Frage zu Rewrite in Apache mittels .htaccess und Weiterverarbei

Frage zu Rewrite in Apache mittels .htaccess und Weiterverarbeitung in php

Hallo!

Ich will, dass bei allen Aufrufen auf meine Domain eine php-Datei mit
dem Namen main.php aufgerufen wird.
Die angezeigte URL im Browser des Benutzers soll sich aber nicht
verändern.

Die URL soll dann von main.php untersucht werden, und entsprechend
wird dann die Seite zusammengestellt und per "echo" ausgegeben.

Dateien, die in main.php nicht eine spezielle Zusammenstellung
auslösen (z.B. ".jpg"-Dateien), sollen vom Server ganz normal
ausgeliefert werden.

Wie ginge das am Besten? (Fehlerhandling ist nicht besonders nötig.)

Grüße

  1. hi,

    Die URL soll dann von main.php untersucht werden, und entsprechend
    wird dann die Seite zusammengestellt und per "echo" ausgegeben.

    Dateien, die in main.php nicht eine spezielle Zusammenstellung
    auslösen (z.B. ".jpg"-Dateien), sollen vom Server ganz normal
    ausgeliefert werden.

    Ich verwende folgende RewriteRule:

    RewriteCond %{REQUEST_FILENAME} !-f  
    RewriteCond %{REQUEST_FILENAME} !-d  
    RewriteRule ^.*$    /index.php/$1 [L]
    

    Statische Dateien wie jpg, gif und so weiter, die exisitieren, werden vom Apache direkt ausgeliefert.

    mfg

    --
    マルコム ベック`秒 エイリアス エJ Ñ - ĜわたしÑ
    1. RewriteCond %{REQUEST_FILENAME} !-f

      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^.*$    /index.php/$1 [L]

      
      >   
        
      Hallo!  
        
      Zum Testen habe ich erstmal eine ganz einfach .htaccess Datei:  
      RewriteEngine On  
      RewriteRule   ^abc\.html$ test.html  
        
      Die Datei "test.html" ist vorhanden, im selben Verzeichnis.  
      Der Domainname zeigt auf einem 1und1-Server und dort auf dem Unterverzeichniss "/domains/ab.de".  
      Rufe ich jetzt http://www.meineDomain.de/abc.html auf, erscheint leider folgende Fehlermeldung:  
      "Not Found  
      The requested URL /kunden/homepages/12/d12345678/htdocs/domains/ab.de/test.html was not found on this server.  
      "  
        
      Was bedeutet "[L]" am Ende der RewriteRule? Leider scheinen mir die Hilfe-Seiten bei Apache nicht so gut, zumindest konnte ich das nirgends beschrieben finden.  
        
      ):  
        
      Grüße  
        
      P.S. ( Ersetze ich "test.html" durch "http://www.meineDomain.de/test.html" erscheint im Browser zwar die Datei, aber leider ändert sich auch die Anzeige in der Location-Zeile von http://www.meineDomain.de/abc.html zu http://www.meineDomain.de/test.html . )  
      
      
      1. hi,

        Zum Testen habe ich erstmal eine ganz einfach .htaccess Datei:
        RewriteEngine On
        RewriteRule   ^abc.html$ test.html

        Der Punkt in diesem Beispiel macht die Probleme (bzw. die Maskierung), ich bin auch bei 1und1 und da macht die Rule

        RewriteRule ^robots.txt$      /inc-files/files/robots.txt [L]

        keine schwierigkeiten.

        Was bedeutet "[L]" am Ende der RewriteRule?

        Siehe hier -- in diesem Thread findest du weitere nützliche Infos, einfach mal durchblättern.

        mfg

        --
        マルコム ベック`秒 エイリアス エJ Ñ - ĜわたしÑ
        1. hi,

          Zum Testen habe ich erstmal eine ganz einfach .htaccess Datei:
          RewriteEngine On
          RewriteRule   ^abc.html$ test.html

          Der Punkt in diesem Beispiel macht die Probleme (bzw. die Maskierung), ich bin auch bei 1und1 und da macht die Rule

          Hallo!
          Es lag doch nicht an der Maskierung. Ich habe jetzt "/test.html" statt nur "test.html" verwendet, und jetzt funktioniert es, maskiert und unmaskiert. (Ich würde 100Euro wetten, dass ich "/test.html" schon versucht hatte. =) )

          RewriteEngine On
          RewriteRule   ^abc.html$ /test.html

          Heute ist es zu spät, um weiterzumachen.
          Und der für mich schwierigste Schritt läuft ja jetzt.

          Danke für die Hilfe! Ich melde mich bestimmt wieder, in den nächsten Tagen.

          Grüße
          Gustav