mod_rewrite?

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

  • mod_rewrite?

    Hallo Leute,

    ich hab mal eine frage zum mod_rewrite, oder besser gesagt ein problem.

    habe dazu auch schon die Suchfunktion befragt und viele Beiträge gefunden und so einiges jetzt ausprobiert, aber den entscheidenen Fehler scheine ich dabei übersehen zu haben, denke ich mal.

    Folgendes:
    Ich möchte ein Shop Suchmaschinen freundlich machen, das heisst statt den den Kategorien Links: http://www.shop-seite.de/store/theme...x.php?katId=48 soll der der Link z.B. folgendermaßen aussehen http://www.shop-seite.de/store/theme...rie/kat48.html

    so der Shop liegt in ein Webspace bei puretec, mod_rewrite wird Unterstützt. (Bei einem CMS-portal in einem anderem ordner (eine andere URL ist auf dem ornder konnektiert) im Webspace funzt es.

    So habe eine .htaccess Datei angelegt mit folgendem Inhalt:

    ____________________
    RewriteEngine on

    RewriteRule ^kat(.*).html /store/themes/kategorie/index.php?katId=$1
    ____________________

    habe diese ins Root Verzeichnis der Shop-Url abgelegt.
    aber passieren tut beim aufrufen des Shop nix, die Kategorien werden immer noch mit "index.php?katId=48" Links dargestellt.


    hab auch schon mit ([1-9][0-9]*) statt (.*) probiert oder .html$ statt .html
    oder "store/themes/kategorie/" weggelassen oder "Rewritebase /store" unter rewriteEngine on eingefügt.

    mhh weiss jetzt irgendwie nicht weiter.
    mfg
    marc75

    <Platz für anderes>

  • #2
    den hast du auch schon komplett gelesen?
    http://www.php-resource.de/forum/sho...threadid=12722

    insbesondere das mit dem

    Options +FollowSymLinks

    ?

    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      gelesen ja, verstanden eher nicht.

      was bewirkt denn "Options +FollowSymLinks" ? stand es auch drin? hab eben nochmal geschaut und nix zu gefunden.

      hab jetzt einfach mal folgendes gemacht (sicherlich falsch da das auch nicht funzt)

      .htaccess

      RewriteEngine on
      Options +FollowSymLinks
      RewriteRule ^kat(.*).htm /store/themes/kategorie/index.php?katId=$1


      aber noch ne andere frage kann es auch damit zusammenhängen das es nicht geht, das die shop index.php z.B. aus header.inc.php und footer.inc.php usw. zusamengefügt wird?
      mfg
      marc75

      <Platz für anderes>

      Kommentar


      • #4
        am zusammenfügen liegt es nicht. du musst nur die korrekten path-angaben verwenden.

        und ja, das Options +FollowSymLinks stand in dem 'großen' thread drin. wenn auch nciht zu beginn...
        und bedeuten tut es, dass der apache den SymLinks folgen (Follow) soll. durch die RWE wird ja sozusagen ein SymLink gelegt. und zwar auf deine datei.

        dann man noch ne frage. kann man diesen path
        /store/themes/kategorie/index.php
        auf deinem webserver so erreichen, oder ist das eine komplett lokale path-angabe?
        das ziel muss aus der sicht des webroots betrachtet werden.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          schaue auch mal hier.
          http://www.php-resource.de/forum/sho...threadid=22216
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            www.der-shop.de/store/themes/kategorie/index.php

            ist so aufrufbar. werden dann allerdings keine Artikel gelistet, dazu muss dann erst ?katID=Zahl für die jeweilige kategorie gewählt sein.

            hab mir den Link angeschaut hab auch gleich mal einiges ausprobiert, stehe aber irgendwie auf dem schlauch.

            jetzt erstmal paar grundlegende fragen, vielleicht gehe ich das ja komplett falsch an.

            die .htaccess kommt ins root Verzeichnis, richtig oder nicht? (ist der Ordner der der aufgrufen wird wenn man www.seite.de eingibt)

            so der Shop ist unter www.seite.de/store/index.php erreichbar.

            root/store

            so die Kategorien werden mit folgenden Link angezeigt:
            http://www.seite.de/store/themes/kat...x.php?katId=47 die Nummer für die jeweilige kategorie.
            die Ordner sind folgendermaßen auch vorhanden.
            root/store/themes/kategorie/

            so nun nochmal zur .htaccess

            Inhalt:
            ____________________
            RewriteEngine on
            Options +FollowSymlinks
            RewriteBase /store/themes/kategorie
            RewriteRule ^kat(.*).htm$ /index.php?katId=$1 [L]
            ____________________

            so
            zeile 1 schaltet es ein
            Zeile 2 ist für die Link Verfolgung
            Zeile 3 ist damit rewrite weiss wo er es umschreiben soll.
            sind die "/" so richtig? am anfang ja und am ende ohne?
            Zeile 4 sagt was umgeschrieben werden soll und wie.
            dazu .htm$ muss dort"$" dran sein oder kann da auch nur .html stehen
            und vor index.php "/" mit oder ohne? (bei puretec wird gehostet).
            und =$1 ist so auch richtig oder kommt da kein dollar zeichen hin?
            mfg
            marc75

            <Platz für anderes>

            Kommentar


            • #7
              die .htaccess kommt ins root Verzeichnis, richtig oder nicht?
              richtig

              RewriteEngine on
              Options +FollowSymlinks
              RewriteBase /store/themes/kategorie
              RewriteRule ^kat(.*).htm$ /index.php?katId=$1 [L]
              rewrite base im unterverzeichnis mag zwar gehen, aber du willst das seite.de/datei.html haben. aber muss die base in / liegen...

              Code:
              RewriteEngine on 
              Options +FollowSymlinks 
              RewriteBase /
              RewriteRule ^kat(.*).htm$ /index.php?katId=$1 [L]
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                ok


                wenn ich jetzt das in die .htaccess einfüge:

                RewriteEngine on
                Options +FollowSymlinks
                RewriteBase /
                RewriteRule ^kat(.*).htm$ /index.php?katId=$1 [L]
                dann die datei ins root lade und anschliesend

                www.seite.de/store

                aufrufe, mit der Maus über eine Kategorie fahre, erscheint weiterhin folgender Link: http://www.seite.de/store/themes/kat...x.php?katId=47
                mfg
                marc75

                <Platz für anderes>

                Kommentar


                • #9
                  Wo schreibt die ReWriteEngine denn die Links um?

                  Kommentar


                  • #10
                    Original geschrieben von marc75
                    dann die datei ins root lade und anschliesend
                    www.seite.de/store
                    aufrufe, mit der Maus über eine Kategorie fahre, erscheint weiterhin folgender Link: http://www.seite.de/store/themes/kat...x.php?katId=47
                    *lol*, du scherzkeks!

                    deine links musst du natürlich selber so anpassen, dass sie dem schema http://www.shop-seite.de/store/them...orie/kat48.html oder wasweissich entsprechen.

                    die rewrite engine ist lediglich dazu da, dass der apache beim aufruf einer solchen seite durch den browser intern die adresse in die form seite.php?parameter... umschreibt.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Original geschrieben von wahsaga
                      *lol*, du scherzkeks!

                      deine links musst du natürlich selber so anpassen, dass sie dem schema http://www.shop-seite.de/store/them...orie/kat48.html oder wasweissich entsprechen.

                      die rewrite engine ist lediglich dazu da, dass der apache beim aufruf einer solchen seite durch den browser intern die adresse in die form seite.php?parameter... umschreibt.
                      darum fragte ich ja ganz oben ob ich was falsch verstehe.

                      Und jetzt verstehe ich auch warum ich im cms (wo mod_rewrite schon etwas länger läuft) folgende Funktion im Header einbauen musste:

                      function replace_for_mod_rewrite(&$s) {
                      $urlin = array(....gekürzt]


                      darum brauchte ich dort die Links nicht von Hand anpassen und habs hier nicht gerafft.

                      jetzt frag ich mich, ob ich die funktion auch in die header.inc.php eingebaut bekomme? blöd das die total anders als die header.php vom cms aufgebaut ist.
                      mfg
                      marc75

                      <Platz für anderes>

                      Kommentar

                      Lädt...
                      X