mod_rewrite - Problem mit BILD-Urls

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

  • mod_rewrite - Problem mit BILD-Urls

    Hallo Gemeinde!
    Ich hoffe ich bin im richtigen Board gelandet!
    Spiele zur Zeit ein wenig mit mod_rewrite rum und bin auch von dessen funktionalität beeindruckt, leider hat sich mri ein Problem aufgetan welches ich nicht lösen kann.
    Undzwar will ich eine Ordner Struktur "faken", sagen wir "domain.de/threads/42984/seite_1.html"! Schön und gut, Seite wird geladen aber mit komplett falschen Pfadangaben. Ist klar, den Bild-urls werden jetzt ja die 2 Ordner "threads" und "42984" vorgeschoben.

    Die Pfadangaben sind natürlich relativ und nicht absolut und ich möchte das auch gerne so beibehalten.

    Was kann ich also tun um jetzt den richtigen Pfad beizubehalten?

    Ich hoffe auf eine Lösung, danke im vorraus!

    LG Chris

  • #2
    Definiere die RewriteRules einfach so, dass sie nicht nur auf .../dir/subdir(.*) zutreffen, sondern auf .../dir/subdir/(.*).html - damit werden Bildreferenzen, die ja i.d.R. auf gif|jpg|png enden - nicht umgeschrieben.

    Kommentar


    • #3
      wie genau würde das aussehen?

      Ich denke ich habe das bereits so...:
      RewriteEngine On
      RewriteRule ^threads/([0-9]+)/seite_([0-9]+).html$ index.php?section=extern/forum/view_thread&t_id=$1&page=$2 [L]

      Kommentar


      • #4
        Schreib doch einfach ein / vor den Bildnamen im src-Attribut
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          wie gesag will ich das nicht verändern und es so lassen wie es ist...
          habe es aber natürlich ausprobiert, ob es das problem löst, leider Fehlanzeige!

          Kommentar


          • #6
            Was steht im src-Attribut in der Seite?
            Was versucht der Browser zu laden?
            Was steht in der Adresszeile des Browsers?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              PHP-Code:
              <base href="http://www.domain.de/" /> 
              ... ist dein freund

              Kommentar


              • #8
                nimm "domain.de/threads+42984+seite_1.html" statt "domain.de/threads/42984/seite_1.html" ... ist auch besser für die SuMas
                [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                (from here)

                Kommentar


                • #9
                  SRC:
                  <IMG SRC="res/gfx/design/fbuttonhilfe.jpg" border=0>

                  Browser versucht zu laden:
                  threads/16/res/gfx/forum/fbuttonhilfe.jpg

                  Im der Adresszeile:
                  http://localhost/page/threads/16/seite_2.html

                  Kommentar


                  • #10
                    Und wenn du /page/ vornedran schreibst?
                    Oder ../../?

                    Je nachdem, was genutzt werden kann
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      hilft beides nicht.

                      dachte dieses RewriteBase würde was bringen aber pustekuchen...

                      Edit: Werde jetzt wohl oder übel die Lösung mit dem "+" nehmen, auch wenns nicht so schick ist!

                      Noch eine frage: Ist mod_rewrite Performance-Fressend bei vielen aufrufen oder nicht merklich?
                      Zuletzt geändert von stf]Daywalker; 01.12.2005, 17:20.

                      Kommentar


                      • #12
                        PHP-Code:
                        <base href="http://www.domain.de/" /> 
                        funktioniert bei mir mit virtuellen ordnern per mod_rewrite perfekt und zwar auch mit relativen Pfadangaben

                        Kommentar


                        • #13
                          ... also ich selbst habe 0 Probleme mit
                          <img src="[COLOR=red]/[/COLOR]res/gfx/design/fbuttonhilfe.jpg" style="border: 0;">
                          [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                          [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                          [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                          (from here)

                          Kommentar


                          • #14
                            ... also ich selbst habe 0 Probleme mit
                            <img src="/res/gfx/design/fbuttonhilfe.jpg" style="border: 0;">
                            .. glaub ich dir - aber er will die relativen pfade doch nicht ändern, und mit <base> muss er dass ja auch nicht!

                            Kommentar


                            • #15
                              Original geschrieben von crisdoe
                              ... aber er will die relativen pfade doch nicht ändern ...
                              oh sry, übersehen

                              --

                              @stf]Daywalker: versuch' es lieber doch mit dieser base-Einstellung zu lösen - das ist sicher weniger Aufwand!

                              --

                              Noch eine frage: Ist mod_rewrite Performance-Fressend bei vielen aufrufen oder nicht merklich?
                              ... ich hab' da zwar keine Fakten, aber da es "fest" in den Apache integriert ist und quasi nur RegEx sind, die der Reihe nach abgearbeitet werden, kann ich mir kaum vorstellen, dass da viel Performance dafür drauf geht.
                              [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                              [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                              [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                              (from here)

                              Kommentar

                              Lädt...
                              X