![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 372 Pomógł: 2 Dołączył: 10.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
witam, używam .htaccess do tworzenia prostych adresów, taka reguła:
Kod RewriteRule ^Inne/([0-9]+)/([0-9]+)/([-\s{}0-9a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ\?]+)$ index.php?kategoria=Inne&id=$1&page=$2&nazwa=$3 działa dobrze do czasu, gdy nazwa artykułu zawiera polskie znaki. Cytat np. Jak zbadać glebe? Jest tu znak ć, wyrażenie nie zadziała a serwer zwróci błąd 404, w którym będzie pisało: Cytat The requested URL /Inne/2/1/Jak-zbadać-glebe? widać tu że polskie znaczki zostają zamienione na jakieś krzaczki, ć -> zostało zamienione na ć i w przypadku gdy dodam do reguły znak ć to wszystko będzie działać poprawnie: Kod RewriteRule ^Inne/([0-9]+)/([0-9]+)/([-\s{}0-9a-zA-ZąćęłńóśźżĄĆĘŁŃÓŚŹŻ\?ć]+)$ index.php?kategoria=Inne&id=$1&page=$2&nazwa=$3 Pytanie: skąd się wzięły takie krzaczki zamiast pl znaków, jak zrobić by nie trzeba było dodawać w regule tych krzaczków a'la: ć tylko by poprawnie reagowała ona na polskie znaki? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie no z polskich znaków korzystać można a adresach url. Zamiast wrzucać do wyrażenia niejako "zabezpieczenie" przed wpisywaniem niepowołanych znaków, czyli umieszczaniem w zakresie znaków wszystkiego co może przelecieć, wrzuć tam jakieś wyrażenie które przeleci przez wszystko. Powiedzmy:
Kod RewriteRule ^Inne/([0-9]+)/([0-9]+)/(.+)$ index.php?kategoria=Inne&id=$1&page=$2&nazwa=$3 Lub jak już usilnie próbujesz zrobić dodatkowe zabezpieczenie, to zamiast dozwolone znaki, spróbuj wypisać niedozwolone, coś na ten przykład: Kod RewriteRule ^Inne/([0-9]+)/([0-9]+)/([^\,\.\/<>\?]+)$ index.php?kategoria=Inne&id=$1&page=$2&nazwa=$3 aczkolwiek, nie wypisałem tutaj wszystkich niedozwolonych znaków. Dodatkowo poczytaj ten temat: http://forum.php.pl/index.php?showtopic=171554 być może masz podobny problem, którego rozwiązania póki co nie ma. Ten post edytował by_ikar 6.12.2011, 12:07:55 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 15:59 |