Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] mod rewrite blendet daten aus

Einklappen

Neue Werbung 2019

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

  • [Erledigt] mod rewrite blendet daten aus

    hallo liebe gemeinde,

    ich arbeite schon länger an einer Website mit mod-rewrite.
    bis vor kurzem bin ich da noch ganz gut zurechtgekommen bis jetzt
    ich habe meine links immer nach folgendem Schema aufgebaut
    Adresse/(Dateiname ohne Endung)-(sprachcode).html
    also
    http://www.meinedomain.de/startseite-de.html
    die hat auch perfekt zu
    /index.php?section=startseite&lang=de
    umgeleitet.

    jetzt kommt mein Problem. ich brauche variablen auf einer Seite ich möchte das gerne nach dem Prinzip machen
    http://www.meinedomain.de/startseite-de.html?variable
    aber er schndeit alles nach .html ab... ich hoffe das mir jemand helfen kann

    hier erstmal meine .htaccess
    Code:
    #Link umschreiben
    RewriteEngine on
    
    RewriteRule (.*)\.htm$ $1.html
    RewriteRule (.*)\.shtm$ $1.html
    RewriteRule (.*)\.shtml$ $1.html
    
    RewriteCond %{REQUEST_URI} /(.*)-(.*).html
    RewriteCond %{REQUEST_URI} /(.*)-(.*).html [or]
    RewriteCond %{REQUEST_URI} /(.*).html
    RewriteRule (.*) /index.php?section=%1&lang=%2&to=$
    
    #Fehlermeldungen
    ErrorDocument 400 /index.php?section=errors/400
    ErrorDocument 404 /index.php?section=errors/404
    ErrorDocument 423 /index.php?section=errors/423
    ErrorDocument 429 /index.php?section=errors/429
    ErrorDocument 500 /index.php?section=errors/500
    ErrorDocument 502 /index.php?section=errors/502
    ErrorDocument 504 /index.php?section=errors/504


  • #2
    Häng mal ein [QSA] an deine Rule hintendran.
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      ah ich habe grad gesehen das oben noch die falsche RewriteCond steht unten nochmal richtig

      aber das funktioniert auch nicht mit [QSA]... leider


      Code:
      #Link umschreiben
      RewriteEngine on
      
      RewriteRule (.*)\.htm$ $1.html
      RewriteRule (.*)\.shtm$ $1.html
      RewriteRule (.*)\.shtml$ $1.html
      
      RewriteCond %{REQUEST_URI} /(.*)-(.*).html?(.*) [or]
      RewriteCond %{REQUEST_URI} /(.*)-(.*).html [or]
      RewriteCond %{REQUEST_URI} /(.*).html
      RewriteRule (.*) /index.php?section=%1&lang=%2&to=%3
      
      #Fehlermeldungen
      ErrorDocument 400 /index.php?section=errors/400
      ErrorDocument 404 /index.php?section=errors/404
      ErrorDocument 423 /index.php?section=errors/423
      ErrorDocument 429 /index.php?section=errors/429
      ErrorDocument 500 /index.php?section=errors/500
      ErrorDocument 502 /index.php?section=errors/502
      ErrorDocument 504 /index.php?section=errors/504

      Kommentar


      • #4
        Zeig mal bitte mit [QSA]
        Zitat von nikosch
        Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

        Kommentar


        • #5
          Code:
          #Link umschreiben
          RewriteEngine on
          
          RewriteRule (.*)\.htm$ $1.html
          RewriteRule (.*)\.shtm$ $1.html
          RewriteRule (.*)\.shtml$ $1.html
          
          RewriteCond %{REQUEST_URI} /(.*)-(.*).html?(.*) [or]
          RewriteCond %{REQUEST_URI} /(.*)-(.*).html [or]
          RewriteCond %{REQUEST_URI} /(.*).html
          RewriteRule (.*) /index.php?section=%1&lang=%2&to=%3 [QSA]
          
          #Fehlermeldungen
          ErrorDocument 400 /index.php?section=errors/400
          ErrorDocument 404 /index.php?section=errors/404
          ErrorDocument 423 /index.php?section=errors/423
          ErrorDocument 429 /index.php?section=errors/429
          ErrorDocument 500 /index.php?section=errors/500
          ErrorDocument 502 /index.php?section=errors/502
          ErrorDocument 504 /index.php?section=errors/504

          Kommentar


          • #6
            kann das sein das ich das falsch gesetzt habe?
            wenn ja wie mache ich das richtig?

            Kommentar


            • #7
              Code:
              RewriteRule /(.*)-(.*).html /index.php?section=$1&lang=$2 [L,QSA]
              RewriteRule /(.*).html /index.php?section=$1 [L,QSA]
              Wie schauts mit denen beiden aus? Sollten eigentlich die 3 Conds und die Rule ersetzen können.
              Zitat von nikosch
              Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

              Kommentar


              • #8
                teils ja aber nur da ich mir nicht weiterhelfen konnte und es hat ja so funktioniert deshalb hatte ich das ja so gelassen
                aber kaum hatte ich die letzte angefügt
                Code:
                RewriteCond %{REQUEST_URI} /(.*)-(.*).html?(.*) [or]
                funktionierte das auch aber nicht mit der dritten variable...
                und ich weiß das bischen sehr unerfahren anhört aber was bringt das [L,QSA] jetzt direkt?
                bzw. wie kann man das mit der drangehängten variable verwenden?

                Kommentar


                • #9
                  http://wiki.apache.org/httpd/RewriteFlags/QSA
                  http://wiki.apache.org/httpd/RewriteFlags/L
                  Zitat von nikosch
                  Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

                  Kommentar


                  • #10
                    Code:
                    RewriteEngine on
                    
                    RewriteRule (.*)\.(htm|shtm|shtml)$ $1.html
                    RewriteRule ^(.*)-(.*).html$ /index.php?section=$1&lang=$2

                    Kommentar


                    • #11
                      okay danke... nur irgendwie hilft das bei mir auch nicht weiter,
                      als ich das jetzt ausprobiert habe leitet mich die ganze zeit zur 404 oder 500 um
                      ich habe es jetzt wieder zurückgesetzt.

                      vor allem da er auch die variablen nicht weiter gibt... ich versuche es grad mit
                      PHP-Code:
                      <?php
                          
                      echo $_GET['to'];
                       
                      ?>
                      ausgeben zu lassen aber die RewriteEngine schneidet sie ab und gibt sie nicht weiter

                      Kommentar


                      • #12
                        Zitat von LittleKing205 Beitrag anzeigen
                        okay danke... nur irgendwie hilft das bei mir auch nicht weiter,
                        als ich das jetzt ausprobiert habe leitet mich die ganze zeit zur 404 oder 500 um
                        ich habe es jetzt wieder zurückgesetzt.

                        vor allem da er auch die variablen nicht weiter gibt... ich versuche es grad mit
                        PHP-Code:
                        <?php
                            
                        echo $_GET['to'];
                         
                        ?>
                        ausgeben zu lassen aber die RewriteEngine schneidet sie ab und gibt sie nicht weiter
                        Den von mir hinterlassenen Code habe ich selbst getestet, dabei wird mir Section und Language wunderbar ausgegeben. Es könnte natürlich sein, dass du den Pfad noch anpassen musst. Ist dein Projekt bspw. unter ...

                        Code:
                        http://localhost/someDirectory/
                        ... erreichbar, dann muss es lauten:

                        Code:
                        RewriteEngine on
                        
                        RewriteRule (.*)\.(htm|shtm|shtml)$ $1.html
                        RewriteRule ^(.*)-(.*).html$ /someDirectory/index.php?section=$1&lang=$2

                        Kommentar


                        • #13
                          jetzt weiß ich was los ist...
                          wir haben aneinander vorbeigeredet... nein alles funktioniert
                          nur den dritten punkt nimmt er nicht an das was ich ja gerne am ".html" ende haben möchte
                          also
                          PHP-Code:
                          <?php
                          echo $_GET['section']; //wird angezeigt
                          echo $_GET['lang']; // auch
                          echo $_GET['to']; //das nicht
                          das $_GET['to'] soll ausgelesen werden nach html
                          also so www.meinedomain.de/startseite-de.html?variable <- das letzte gibt die engine nicht weiter
                          also sollte bei
                          PHP-Code:
                          echo $_GET['to']; 
                          "variable" rauskommen

                          Kommentar


                          • #14
                            Das hat die tkausl schon mehrfach beantwortet. Einfach das QSA-Flag ("Query-String-Append") anhängen:

                            Code:
                            RewriteEngine on
                            
                            RewriteRule (.*)\.(htm|shtm|shtml)$ $1.html
                            RewriteRule ^(.*)-(.*).html$ /index.php?section=$1&lang=$2 [QSA]

                            Kommentar


                            • #15
                              da kommt dann nicht das raus was ich gerade veruche zu erklären was rauskommen sollte...
                              wenn ich das exakt so mach zeigt PHP mir immer diesen fehler
                              Code:
                              Notice: Undefined index: to in B:\PROFI\Homepage\htdocs\index.php on line 47
                              da die dritte variable die übergeben werden soll nicht gesendet wird...
                              es soll ja nach /index.php?section=$1&lang=$2&to= weiter gehen
                              aber die engine gibt mir aber die DRITTE variable nicht weiter...
                              darum ging meine frage der soll nach der ".html?" mir alles als Variable mit geben tut er nur nicht

                              Kommentar

                              Lädt...
                              X