Zu den Aufzeichnungen der tutorials.de-Live-Workshops
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
368
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    mojitoweb mojitoweb ist offline Mitglied Silber
    Registriert seit
    Aug 2003
    Beiträge
    51
    Moin.

    Nach einem Serverwechsel funktioniert das mod_rewrite nurnoch teilweise. Im Grunde funktioniert es bei allen URLs, bei denen ich KEINE Prozentkodierung drin hab. In diesen Fällen bekomme ich einen Error 403 zurückgeworfen. Gibt es eine Servereistellung oder eine Option, die man bei Prozentcodierung aktivieren muss?

    mfg mo
     
    "Der stärkste Trieb in der menschlichen Natur ist der Wunsch, bedeutend zu sein"
    John Dewey
    http://www.mojitoweb.de
    http://www.tech-board.de

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Moin,

    was meinst du mit "Prozentkodierung"?
     

  3. #3
    mojitoweb mojitoweb ist offline Mitglied Silber
    Registriert seit
    Aug 2003
    Beiträge
    51
    Zur Kodierung von Umlauten zB. nutzt man Prozentkodierung. So wird das Wort "suppengrün" als "suppengr%3Fn" (das ist nicht der richtige Kode für das ü ) dargestellt.

    Ich komme zur Zeit nicht an die Dateien heran, aber die URL wird wie folgt umgewandelt:

    webseite.de/tomate.html
    => webseite.de/index.php?adresse=tomate

    Das ganze funktioniert auch nach dem Serverumzug mit allen wörtern ohne "%XX" (Prozentkodierung). Das seltsame ist, das die URL

    webseite.de/suppengr%3Fn.html nicht die URL
    webseite.de/index.php?adresse=suppengr%3Fn erzeugt (und damit den Verweis auf eine falsche Inhaltsseite), sondern einen "Error 304" schmeißt. Daher ist meine erste Vermutung, dass die Servereinstellungen für mod_rewrite keine Prozentkodierung zulassen, aber was muss ich jetzt machen****
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Ich würde mal tippen, dass sich da etwas an der Unicode-Unterstützung des Servers gändert hat.

    Probiere es mal so:

    Code :
    1
    
    RewriteRule webseite.de/suppengrün.html  webseite.de/index.php?adresse=suppengrün
    ...also ohne etwas zu kodieren.

    Die .htaccess speichere UTF8-kodiert ab.
     

  5. #5
    mojitoweb mojitoweb ist offline Mitglied Silber
    Registriert seit
    Aug 2003
    Beiträge
    51
    Zitat Zitat von Sven Mintel Beitrag anzeigen
    Ich würde mal tippen, dass sich da etwas an der Unicode-Unterstützung des Servers gändert hat.

    Probiere es mal so:

    Code :
    1
    
    RewriteRule webseite.de/suppengrün.html  webseite.de/index.php?adresse=suppengrün
    ...also ohne etwas zu kodieren.

    Die .htaccess speichere UTF8-kodiert ab.
    Das funktioniert, aber sobald ich die Regel zB in

    Code :
    1
    
    RewriteRule webseite.de/suppengr%3Fn.html  webseite.de/index.php?adresse=suppengrün

    abändere und in die Browserzeile die Prozentkodierung eingebe schmeißt er wieder den Error 403.

    Meine geschriebenen Quelltexte sind durch Notepad++ auf UTF-8 codiert. wie seh ich, ob es dort beim Server ein Problem geben kann, bzw wie stell ich den richtig ein. Ich hab schon per phpinfo gesucht, aber nicht so richtig was gefunden.
     

  6. #6
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Zitat Zitat von mojitoweb Beitrag anzeigen
    Das funktioniert, aber sobald ich die Regel zB in

    Code :
    1
    
    RewriteRule webseite.de/suppengr%3Fn.html  webseite.de/index.php?adresse=suppengrün

    abändere und in die Browserzeile die Prozentkodierung eingebe schmeißt er wieder den Error 403.
    Jo, da Frage ich mich aber, wozu du es so eingibst im Browser

    Heisst die Datei nun suppengrün.htmloder suppengr%3Fn.html

    Das ANSI-ü wird anders kodiert als das Unicode-ü :

    UTF8: suppengr%C3%BCn.html
    ANSI: suppengr%3Fn.html
     

  7. #7
    scrippi scrippi ist offline Mitglied
    Registriert seit
    Oct 2008
    Beiträge
    13
    mal davon abgesehen dass es in der URL dann ein wenig bescheuert aussieht für die Suchmaschine kannst du den Fehler in PHP beheben in dem du:

    PHP-Code:
    $adresse urldecode($_GET["adresse"]); 
    machst, womit der String für die Datenbank wieder herrgestellt wird. Ansonsten, wenn das aus der Datenbank kommt(wovon ich mal ausgehe), dann kann durch aus der Zeichensatz ein Problem sein, oft hilft es, dort mal rumzuprobieren, zB mal diesen latin_german_utf8 einstellen(glaub der hieß so). Das kannst du im PHPMyAdmin machen
     

  8. #8
    mojitoweb mojitoweb ist offline Mitglied Silber
    Registriert seit
    Aug 2003
    Beiträge
    51
    Das Problem ist ja nicht, das die Kodierung falsch ist, sondern das nach dem Serverwechsel die Kodierung einen Error 403 erzeugt.

    Der Link, der zB im Menü erzeugt wird ist vollkommen richtig und auch gut durch Suchmaschinen lesbar:

    Http://www.webseite.de/suppengr%3Fn.html

    nur leitet er mich nicht wie gewohnt nach index.php?adresse=suppengr%3Fn weiter sondern bricht mit dem 403 ab.

    Die Schritte der Kodierung und Dekodierung funktionieren 100% (kommen natürlich aus der DB). Es liegt allein an dem Umgang mit dem %.
     
    "Der stärkste Trieb in der menschlichen Natur ist der Wunsch, bedeutend zu sein"
    John Dewey
    http://www.mojitoweb.de
    http://www.tech-board.de

  9. #9
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Wie erzeugst du denn den Link?

    Hast du meinen Hinweisen zum Unterschied zwischen ANSI und UTF8 gelesen?

    Der Link muss lauten:
    http://www.webseite.de/suppengr%C3%BCn.html
    und nicht
    http://www.webseite.de/suppengr%3Fn.html
     

  10. #10
    mojitoweb mojitoweb ist offline Mitglied Silber
    Registriert seit
    Aug 2003
    Beiträge
    51
    Zitat Zitat von Sven Mintel Beitrag anzeigen
    Wie erzeugst du denn den Link?

    Hast du meinen Hinweisen zum Unterschied zwischen ANSI und UTF8 gelesen?

    Der Link muss lauten:
    http://www.webseite.de/suppengr%C3%BCn.html
    und nicht
    http://www.webseite.de/suppengr%3Fn.html
    Das Aufrufen des obersten links würde doch aber dazu führen, das er direkt suppengrün in die Browserzeile schreibt, also das %C3%BC direkt in ein ü umwandelt und dann würde ich doch probleme bei der dekodierung bekommen, da dann in meiner Variable nichtmehr 'suppengr%C3%BCn' sondern 'suppengrün' steht, oder sehe ich das falsch?
     
    "Der stärkste Trieb in der menschlichen Natur ist der Wunsch, bedeutend zu sein"
    John Dewey
    http://www.mojitoweb.de
    http://www.tech-board.de

  11. #11
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Wozu dekodierst du Variablen?

    Wenn ich eine Webseite mit webseite.de/index.php?adresse=suppengr%C3%BCn aufrufe, dann muss da nichts dekodiert werden.

    $_GET['adresse'] ist dann "suppengrün"
     

  12. #12
    mojitoweb mojitoweb ist offline Mitglied Silber
    Registriert seit
    Aug 2003
    Beiträge
    51
    Zitat Zitat von Sven Mintel Beitrag anzeigen
    Wozu dekodierst du Variablen?

    Wenn ich eine Webseite mit webseite.de/index.php?adresse=suppengr%C3%BCn aufrufe, dann muss da nichts dekodiert werden.

    $_GET['adresse'] ist dann "suppengrün"
    vollkommen richtig. Es geht hierbei um Suchmaschinenoptimierung. Dazu wird auf die Adresse

    webseite.de/suppengr%F3n.html verlinkt und diese durch die htaccess in die url

    webseite.de/index.php?adresse=suppengr%F3n

    umgeschrieben und die Variable $adresse bestimmt dann später den Inhalt der Seite. Würde in der url suppengrün stehen wäre dies ein Problem für Suchmaschinen.

    Das ganze funktioniert auch, nurnicht auf dem neuen (Fremd-)Server, daher vermute ich, das es an irgendwelchen Servereinstellungen liegt.
     
    "Der stärkste Trieb in der menschlichen Natur ist der Wunsch, bedeutend zu sein"
    John Dewey
    http://www.mojitoweb.de
    http://www.tech-board.de

Ähnliche Themen

  1. Problem mit mod_rewrite
    Von drakun im Forum Hosting & Webserver
    Antworten: 0
    Letzter Beitrag: 14.01.11, 19:20
  2. Problem mit mod_rewrite
    Von Metha im Forum Hosting & Webserver
    Antworten: 0
    Letzter Beitrag: 19.07.09, 15:43
  3. Problem mit mod_rewrite
    Von DivDax im Forum Hosting & Webserver
    Antworten: 1
    Letzter Beitrag: 18.10.05, 01:42
  4. mod_rewrite Problem
    Von ts201 im Forum Hosting & Webserver
    Antworten: 3
    Letzter Beitrag: 30.01.05, 14:13
  5. mod_rewrite Problem
    Von Paula im Forum Hosting & Webserver
    Antworten: 1
    Letzter Beitrag: 30.05.04, 01:11

Stichworte