![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 495 Pomógł: 2 Dołączył: 5.02.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W .htaccess jest taki wpis:
Cytat RewriteRule ^projekty_domow/(.+)/(.*)$ http://www.krajobrazy.com.pl/$2 [L] Podaję w przeglądarkach adres: Cytat krajobrazy.com.pl/projekty_domow/ja%B6min/wizualizacja.php?obrazek=http://www.krajobrazy.com.pl/domki/ja%B6min/ja%B6min_widok2b.jpg Zgodnie z przekierowaniem w .htaccess w przeglądarce Opera, oraz FF następuje przekierowanie na adres: Cytat krajobrazy.com.pl/wizualizacja.php?obrazek=http://www.krajobrazy.com.pl/domki/ja%B6min/ja%B6min_widok2b.jpg Tu jest wszystko ok. Dokładnie ten sam adres wpisany w Internet Explorer 6 i 7 powoduje przekierowanie na błędny adres: Cytat krajobrazy.com.pl/wizualizacja.php?obrazek=http://www.krajobrazy.com.pl/domki/ja%25B6min/ja%25B6min_widok1b.jpg Wniosek z tego jeden. Przekierowanie jako tako zostaje dobrze zastosowane, ale polski zakodowany znak %B6 zostaje zamieniony z jakiegoś powodu na %25B6, a więc po % zostaje dodane 25. Problem ten w IE uniemożliwia poprawny odczyt plików z serwera. Dlaczego dzieje się to tylko w IE i jak to obejść? Ten post edytował The Night Shadow 8.08.2008, 12:19:23 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 15 Dołączył: 29.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Przeglądarki różnie kodują znaki, tego nie ominiesz.
Nie stosowac polskich znakow w urlach, tytuły trzeba "spłaszczać" najlepiej tablica podmiany znaków, bo dotychczas żadna prosta funkcja nie potrafi wykonac poprawnej podmiany na bezogonki. Dodatkowo spłaszczone tytuły trzymac albo w oddzielnej tablicy albo razem z artykułem jako alias. Nie wiem czy to jedyny sposób, wiem, że powszechny w CMSach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował rybik 8.08.2008, 13:19:42 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 44 Dołączył: 17.02.2004 Skąd: Wieliczka Ostrzeżenie: (10%) ![]() ![]() |
Też kiedyś miałem problem z polskimi znakami w urlu i różnym wynikiem w zależności od przeglądarki.
Po wielu próbach doszedłem do rozwiązania które od tamtej pory stosuję. -ale o ile nie jest to konieczne lepiej nie stosować wcale krzaczków w adresie. Strona w UTF-8, a otrzymaną getem zmienną traktujesz urldecode() http://forum.php.pl/index.php?showtopic=92209 Ten post edytował neverever 8.08.2008, 13:20:47 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 495 Pomógł: 2 Dołączył: 5.02.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
No tak tylko problem jest taki, że mamy od kilku lat istniejący serwis przeniesiony na nową platformę. Na poprzedniej to działało. Poza tym znak są kodowane za pomocą urlcode i mimo to jest źle
Zna ktoś rozwiązanie? Kodowanie to niestety iso-8895-2 Ten post edytował The Night Shadow 8.08.2008, 14:15:29 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Wygląda na to, ze dane są escape'owane podwójnie. Spróbuj dodać flagę NE do RewriteRule
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 495 Pomógł: 2 Dołączył: 5.02.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Kicok (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jesteś wielki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) serdeczne dzięki za wzbogacenie wiedzy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) i rozwiązanie problemu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 19:31 |