ERLEDIGT
NEIN
NEIN
ANTWORTEN
11
11
ZUGRIFFE
368
368
EMPFEHLEN
-
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
-
Moin,
was meinst du mit "Prozentkodierung"?
-
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****
-
Ich würde mal tippen, dass sich da etwas an der Unicode-Unterstützung des Servers gändert hat.
Probiere es mal so:
...also ohne etwas zu kodieren.Code :1
RewriteRule webseite.de/suppengrün.html webseite.de/index.php?adresse=suppengrün
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.
-
-
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:
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 machenPHP-Code:$adresse = urldecode($_GET["adresse"]);
-
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
-
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
-
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
-
Problem mit mod_rewrite
Von drakun im Forum Hosting & WebserverAntworten: 0Letzter Beitrag: 14.01.11, 19:20 -
Problem mit mod_rewrite
Von Metha im Forum Hosting & WebserverAntworten: 0Letzter Beitrag: 19.07.09, 15:43 -
Problem mit mod_rewrite
Von DivDax im Forum Hosting & WebserverAntworten: 1Letzter Beitrag: 18.10.05, 01:42 -
mod_rewrite Problem
Von ts201 im Forum Hosting & WebserverAntworten: 3Letzter Beitrag: 30.01.05, 14:13 -
mod_rewrite Problem
Von Paula im Forum Hosting & WebserverAntworten: 1Letzter Beitrag: 30.05.04, 01:11





Zitieren


Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen