![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 18.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
w dniu dzisiejszym rozpoczęła się moja przygoda z mod_rewrite. Przejrzałem wiele stron i usilnie starałem się sprawić aby na mojej stronie pojawiły się wreszcie przyjazne URL'e. Rzekłbym "udało się!" i udał na kolejne piwo jednak nie wszystko działa jak bym sobie tego życzył. Na dobry początek wkleję zawartość .htaccess: RewriteEngine On RewriteBase / RewriteRule ^([^/.]+)/?$ index.php?show=$1 [NC,L] Efektów chyba się domyślacie: http://strona.pl/index.php?show=articles przyjmuje piękny adres w postaci http://strona.pl/articles/ Niestety w przeglądarce firefox po wprowadzeniu adresu: http://strona.pl/articles/ jest on zmieniany na: http://strona.pl/?show=articles Ponadto zauważyłem, że gdy wprowadzę w firefoxa następujący adres: http://strona.pl//articles/ to wyświetla się żądana zawartość. Niestety przybył kolejny ukośnik a chciałbym aby we wszystkich przeglądarkach adres wyglądał tak samo. Kombinowałem zatem i przerobiłem zaklęcie: RewriteRule ^([^/.]+)/?$ index.php?show=$1 [NC,L] na: #RewriteRule ^(.+)\.html$ index.php?show=$1 [NC,L] Owe polecenie dodaje .html zamiast ukośnika (/) na końcu. W rezultacie otrzymuję: http://strona.pl/articles.html Niby wszystko ok jednak uparłem się przy wersji pierwotnej i nigdzie nie mogę znaleźć odpowiedzi na mój problem. Czy wina leży po stronie przeglądarki czy może raczej po stronie składni polecenia w .htaccess? Na koniec dodam tylko, że zmieniany jest tylko środek strony poprzez include w takiej postaci: (zawartość pliku index.php) $dozwolone=array('start','articles','portfolio','blog'); if (isset($_GET['show'])) $show=$_GET['show']; else $show=$dozwolone[0]; if (in_array($show,$dozwolone)) include($show.'/'.$show.'.php'); else include('404.php'); Oczywiście ma to wpływ na zmiany w adresie url jak zapewne o tym wiecie. Czemu o tym wspomniałem? Jeśli uruchomię stronę pierwszy raz poprzez: http://strona.pl/ to zmienna "show", która powinna przyjąć wartość "start" natomiast pozostaje pusta i w taki oto sposób w firefoxie widzę następujący URL: http://strona.pl/?show= Zaznaczam ponownie, że problem wsytępuje tylko w przeglądarce firefox. Czekam na Wasze dobre rady. Pozdrawiam, uL33k |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 24 Dołączył: 22.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj usunąć całą pamięć podręczną firefoxa. To nie wygląda na ten sam problem, ale kiedyś też walczyłem z przekierowaniem 301 z nieistniejącej strony, na stronę główną. Potem dodałem adres, który wcześniej testowałem jako "nieistniejący" i firefox pamiętał przekierowanie nie wysyłając żądania, tylko przekierowywał z głowy. Dopiero usunięcie cache'a rozwiązało problem - a straciłem na to pół dnia testów
![]() A nuż to to samo |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 18.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Z ogromną radością stwierdzam, że pomogło. Dziękuję za pomoc. Browar się należy
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 24 Dołączył: 22.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Możesz kliknąć "pomógł" co najwyżej
![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
a ja tam chętnie napije się za kolegę jak nie chce
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 03:28 |