Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne]mod_rewrite i firefox = problem, mod_rewrite niby skonfigurowane dobrze, w IE oraz Chrome jest ok
uL33k
post 19.03.2012, 00:15:07
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

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
maviozo
post 19.03.2012, 13:37:41
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 biggrin.gif

A nuż to to samo
Go to the top of the page
+Quote Post
uL33k
post 19.03.2012, 14:37:47
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 smile.gif
Go to the top of the page
+Quote Post
maviozo
post 19.03.2012, 15:05:04
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 smile.gif
Go to the top of the page
+Quote Post
Quantum
post 19.03.2012, 16:29:48
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 biggrin.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:28