Mod Rewrite Frage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mod Rewrite Frage

    Guten Morgen!

    Ich möchte gerne folgendes URL-Design umsetzen, habe bisher aber noch nichts mit Mod Rewrite gemacht, so dass ich mich irgendwie ein wenig festgefahren habe und nicht mehr weiter komme.

    Ich möchte gerne alle Anfragen die an edmolf.net gehen, also zum Beispiel http://www.edmolf.net/hauptkategorie/artikel.html an meine index.php übergeben.

    Das habe ich auch wie folgt umgesetzt:

    PHP-Code:
    RewriteRule ^(.*)$ index.php?uri=$[QSA,L
    Mein Problem ist nun, dass ich nicht mehr an Bilder etc komme, da die komplette URI immer an die index.php geleitet wird.

    Wie bekomme ich es hin das alle Anfragen an meine Index.php geleitet werden ich aber zum Beispeil trotzdem noch Zugriff auf http://www.edmolf.net/images/icons/test.jpg habe?

    Und wie bekomme ich es hin das ich CSS-Dateien einbinden kann, wo ich ja auch den Pfad mit angeben muss:

    PHP-Code:
    <link href="/core/css.php" type="text/css" rel="stylesheet" /> 
    Ich hoffe ihr versteht was ich möchte und könnt mir weiter helfen

    Achja, ich möchte die URI dann per PHP weiter verarbeiten und dann dem entsprechend die Inhalte dynamisch nach laden.

    Viele Grüße,
    EdMolf

  • #2
    RewriteCond %{REQUEST_URI} !\.(jpg|gif|png)$

    oben drüber?
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Hallo,
      danke für die schnelle Antwort.
      Deine Idee funktioniert zwar, aber damit würde ich mein Problem der css.php leider nicht lösen.

      Ich könnte zwar in die Regeln noch php aufnehmen, aber dann könnte man wieder jede x-beliebige PHP-Datei aufrufen, was ich eigentlich nicht wollte.

      Viele Grüße,
      Christian

      Kommentar


      • #4
        dann die auch ausschließen - nochmals oben drüber

        RewriteCond %{REQUEST_URI} !css\.php$
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          Ich hatte es gleich komplett in eine Regel gemacht

          PHP-Code:
          RewriteCond %{REQUEST_URI} !\.(jpg|gif|png|php|css)$ 
          Das funktionierte wiegesagt auch wunderbar, nur hat von außen nun wieder jeder die Möglichkeit zum Beispiel auf http://www.edmolf.net/core/config.php zuzugreifen.

          Viele Grüße,
          EdMolf

          Kommentar


          • #6
            Ich fahr mit folgender bis jetzt ganz gut:

            Code:
            RewriteEngine On
            RewriteRule ^(.*)\.html?$ index.php?PageName=$1&%{QUERY_STRING}
            Damit krieg ich ggf. auch noch Url-Parameter mit rein.

            Auf deine config.php kann man vielleicht zugreifen, da aber in der Datei idealerweise sowieso nichts ausgegeben wird, kann ja keiner den "Inhalt" lesen, oder versteh ich dich falsch?

            Ansonsten - wenn die Dateien im Ordner /core/ nur von der index.php eigebunden werden, dann mach halt noch einen Password-Schutz auf den Ordner /core/
            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
            Schön - etwas Geschichte kann ja nicht schaden.
            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

            Kommentar


            • #7
              dann lass das php weg, und mach die extra Regel oben drüber

              explizites Ausschließen ist besser
              TBT

              Die zwei wichtigsten Regeln für eine berufliche Karriere:
              1. Verrate niemals alles was du weißt!


              PHP 2 AllPatrizier II Browsergame

              Kommentar


              • #8
                Wenn du genügend Rechte auf deinem Server hast, dann leg die Config nicht ins Public-Verzeichnis.

                PHP-Code:
                /path/to/your/project
                    
                /config
                    
                [evtlganz viele andere Verzeichnisse wie "application""library""temp"etc.]
                    /
                www 
                Den Webserver konfigurierst du dann so, dass der DocumentRoot von deiner Domain nach /path/to/your/project/www zeigt. Also example.org auf /path/to/your/project/www verweist. So kommt von aussen niemand an deine config.php ran.
                Mein PHP Blog

                Kommentar


                • #9
                  Danke für die ganzen Anregungen.
                  Werde es wohl so machen, dass ich meine Verzeichnisse per .htaccess schütze wo es nötig ist und dann die Ausschlussregel von TBT anwende.

                  Das mit dem Document-Root hatte ich auch schon überlegt. Würde, da ich einen V-Server habe, auch einfach realisierbar sein. Aber wenn ich das System wo anders einsetzen würde wo ich keine Möglichkeit habe sowas zu nutzen würde mein System nicht mehr laufen.

                  Betrachtet das Theme als beendet. Wenn trotzdem noch jemand einen gute Idee oder einen Tipp für mich hat, nehme ich diesen natürlich herzlich gerne an.

                  Viele Grüße und ein schönes Wochenende,
                  EdMolf

                  Kommentar


                  • #10
                    Kurzer Hinweis, Mod_Rewrite ist keine PHP spezifische Funktionalität. *move*

                    Kommentar

                    Lädt...
                    X