Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne]mod_rewrite i firefox = problem, mod_rewrite niby skonfigurowane dobrze, w IE oraz Chrome jest ok
uL33k
post
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
maviozo
post
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 (IMG:style_emoticons/default/biggrin.gif)

A nuż to to samo
Go to the top of the page
+Quote Post
uL33k
post
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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
maviozo
post
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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Quantum
post
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 (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 16.09.2025 - 16:59