MOD_REWRITE "dynamisch" für versch. Module

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

  • MOD_REWRITE "dynamisch" für versch. Module

    Hallo Leute!

    Mein kleines, privates CMS soll nun ein wenig aufgemotzt werden.

    Momentan schreibe ich für jedes Modul eigene Einträge in die .htaccess, sprich:

    aus "domain.de/index.php?module=blog&post_id=10"
    mache "domain.de/blog/title-des-posts_10.html

    Jetzt könnte man meinen, dass das doch bei jedem Modul klappt, sprich:
    "domain.de/modul/unterseite/case-der-unterseite/beliebiger-text_id.html"

    Blöd nur, dass jedes Modul andere Parameter hat.

    Was kann man da am besten machen?

    Meine Lösung wäre:
    Jedes Modul hat eine htaccess.txt. Nach der Installation eines Moduls wird ein PHP Script aufgerufen, welches aus allen htacces.txt Dateien die .htacces-Datei bastelt.

    Geht das sauberer? Am besten wäre es, wenn die .htacces autom. alle htaccess.txt includen würde.

    Freu mich auf eure Antworten!
    Gruß
    carapau
    Lasst euch nicht lumpen, hoch den Humpen!

  • #2
    Code:
    RewriteRule ^blog-(.*).html$  index.php?module=blog&post_id=$1
    so wäre das mit den blogs schonmal behoben, egal ob blog-1.html oder blog-57.html .. alle werden umgeschrieben.

    natürlich kann man den regex noch verbessern
    Gruß
    Uzu

    private Homepage

    Kommentar


    • #3
      @UzumakiNaruto: Du glaubst jetzt nicht wirklich, dass er für jede Seite(!) eine eigene Rule gemacht hat? Wie kommt man auf so nen quatsch?

      Da es ein kleines privates CMS ist, finde ich es durchaus legitim, wenn du bei jedem Modul (wie viele hundert oder tausend Module willst du denn haben?) einen neuen Eintrag in die Datei machst.

      Wenn du größeres Vorhast, spricht aber auch nichts dagegen, jedem Modul (die sind ja hoffentlich in Ordnern organisiert) eine eigene htaccess-Datei zu geben.

      Auf oberster Ebene bastelst du eine dynamische Regel a-la

      /.*/.* --> modules/mod_$1/$2

      und im mod_blog-Ordner wird dann ganz normal der Rest (alles was in $2 steht) geparst.

      Fettisch!

      Kommentar


      • #4
        Ich würde dazu raten, dir anzugucken, wie das ZendFramework solche Sachen in den Manuals angeht. Etwas verfeinert mit einer Routerklasse kannst du mit einer htaccess-Zeile dein System flexibel as fuck halten.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Etwas verfeinert mit einer Routerklasse kannst du mit einer htaccess-Zeile dein System flexibel as fuck halten.
          OffTopic:

          Kein Badword-Filter hier im Forum?

          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            @UzumakiNaruto:
            Du hast es drauf!

            @TobiaZ
            Da es ein kleines privates CMS ist, finde ich es durchaus legitim, wenn du bei jedem Modul (wie viele hundert oder tausend Module willst du denn haben?) einen neuen Eintrag in die Datei machst.
            Ich bin Perfektionist und möchte es so sauber wie möglich haben und die .htacces nicht anpassen müssen. Modulverwaltung->Modul installieren->fettisch

            Wenn du größeres Vorhast, spricht aber auch nichts dagegen, jedem Modul (die sind ja hoffentlich in Ordnern organisiert) eine eigene htaccess-Datei zu geben.

            Auf oberster Ebene bastelst du eine dynamische Regel a-la

            /.*/.* --> modules/mod_$1/$2

            und im mod_blog-Ordner wird dann ganz normal der Rest (alles was in $2 steht) geparst.
            Das klingt nicht schlecht, hast du ein paar Keywords oder sogar Links für mich in denen das etwas ausführlicher steht?

            @unset:
            Ich würde dazu raten, dir anzugucken, wie das ZendFramework solche Sachen in den Manuals angeht. Etwas verfeinert mit einer Routerklasse kannst du mit einer htaccess-Zeile dein System flexibel as fuck halten.
            Danke, werd parallel drin blättern.


            as fuck
            Fehlt da nicht ein "S"?

            Gruß
            carapau
            Lasst euch nicht lumpen, hoch den Humpen!

            Kommentar


            • #7
              OffTopic:
              Noch nie beleidigt worden?

              Kommentar


              • #8
                Original geschrieben von TobiaZ
                OffTopic:
                Noch nie beleidigt worden?
                check ich nicht
                Lasst euch nicht lumpen, hoch den Humpen!

                Kommentar


                • #9
                  Fehlt da nicht ein "S"?
                  OffTopic:

                  Je nachdem wo dir das "S" fehlt wird das langsam wirklich pervers

                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    @carapau: Wenn man sich so die ein oder andere Beleidigung hier im Forum ansieht, fällt auf, dass das alles unzensiert (außer durch Mods) wiedergegeben wird.

                    Kommentar


                    • #11
                      Original geschrieben von jahlives
                      OffTopic:

                      Je nachdem wo dir das "S" fehlt wird das langsam wirklich pervers

                      Das überlass ich eurer Fantasie

                      @Tobiaz:
                      Jo, hier wird Meinungsfreiheit noch groß geschrieben.
                      Lasst euch nicht lumpen, hoch den Humpen!

                      Kommentar


                      • #12
                        Du solltest nicht vergessen, dass der Punkt im Regex alle Zeichen matcht, also markieren. Z.B.:

                        RewriteRule ^blog-([0-9]{1,5})\.html$ index.php?module=blog&post_id=$1

                        Kommentar


                        • #13
                          Original geschrieben von jmc
                          Du solltest nicht vergessen, dass der Punkt im Regex alle Zeichen matcht, also markieren. Z.B.:

                          RewriteRule ^blog-([0-9]{1,5})\.html$ index.php?module=blog&post_id=$1
                          ich hatte mir das so gedacht: domain.de/MODULNAME/blabla_23.html

                          "blog" ist dann quasi der modulname, thx.
                          Lasst euch nicht lumpen, hoch den Humpen!

                          Kommentar


                          • #14
                            Solltest du nicht davor zurückschrecken dein CMS grundlegend zu ändern. Dann kann ich dir ein MVC ans Herz legen.

                            http://www.phpro.org/tutorials/Model...oller-MVC.html

                            Hier ein Tutorial dazu. Hoffe Englisch ist kein Hindernis

                            Kommentar

                            Lädt...
                            X