Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [.htaccess] Mod_rewrite częściowo nie działa
thede
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.04.2009

Ostrzeżenie: (0%)
-----


Otóż problem może wydać się dziwny ale wygląda to następująco:
mam coś takiego w .htaccess:
Kod
Options FollowSymLinks
RewriteEngine On
RewriteRule ^index.html$ index.php [L]
RewriteRule ^(.+)\.html$ index.php?id=$1 [L]

i teraz jeśli wpisuję:

domena.pl/index.html
to przekierowuje na
domena.pl/index.php

ale jeśli wpiszę
domena.pl/opis.html
to powinno przejść do
domena.pl/index.php?id=opis
a wyświetla się błąd

po prostu nie działa przekierowanie kiedy nazwa pliku ma jeszcze zmienne

Ktoś wie jak to naprawić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
ddiceman
post
Post #2





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


to dlatego, ze atom (.+) pochlonal juz Ci caly adres (kropka dopasowuje sie do dowolnego znaku, wiec dlaczego nie do kropki i html?). jesli chcesz, zeby Ci dzialalo, to musisz zmodyfikowac druga regule w stylu
Kod
RewriteRule ^([a-zA-Z]+)\.html$ index.php?id=$1 [L]

przy czym atom [a-zA-Z] musisz zamienic na te znaki, ktore rzeczywiscie potrzebujesz i beda uzywane w adresach
Go to the top of the page
+Quote Post
thede
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.04.2009

Ostrzeżenie: (0%)
-----


Hmm... Rzeczywiście tam był błąd, ale nadal nie działa.
Dla
Kod
RewriteRule ^([a-zA-Z]+)\.html$ index.php [L]

pokazuje index.php, ale dla
Kod
RewriteRule ^([a-zA-Z]+)\.html$ index.php?id=$1 [L]

już nie działa...
Nawet jeśli ustalę że:
Kod
RewriteRule ^opis.html$ index.php?id=opis [L]

to też nie działa sadsmiley02.gif
Go to the top of the page
+Quote Post
hondek
post
Post #4





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


a sprobuj:
RewriteRule ^([^.]+).html$ index.php?id=$1 [L]
u mnie dziala winksmiley.jpg


--------------------
przetwornik yt na czasie :)
Go to the top of the page
+Quote Post
thede
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.04.2009

Ostrzeżenie: (0%)
-----


Też nie działa.

Ale teraz zauważyłem, że w konfiguracji php nie mam włączonego mod_rewrite.

Na innym serwerze (gdzie mod_rewrite mi działa) jest napisane w sekcji apache że mod_rewrite jest załadowany.

Najprawdopodobniej chyba o to chodzi bo już nic innego nie może być.

Ktoś wie jak to włączyć??

Z drugiej strony przecież w .htaccess mam:
Kod
RewriteEngine On

więc powinno działać...

Ten post edytował thede 29.04.2009, 14:06:33
Go to the top of the page
+Quote Post
hondek
post
Post #6





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


http://serverlamp.blogspot.com/2008/04/mod-rewrite.html

Jezeli nie masz w apache modulu mod_rewrite to nie koniecznie winksmiley.jpg

Ten post edytował hondek 29.04.2009, 14:07:30


--------------------
przetwornik yt na czasie :)
Go to the top of the page
+Quote Post
thede
post
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.04.2009

Ostrzeżenie: (0%)
-----


Ale ja to mam na hostingu w 8p.pl

nie mogę zmieniać konfiguracji php, chyba że w .htaccess
Go to the top of the page
+Quote Post
hondek
post
Post #8





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


wywal:
Options FollowSymLinks


--------------------
przetwornik yt na czasie :)
Go to the top of the page
+Quote Post
thede
post
Post #9





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 28.04.2009

Ostrzeżenie: (0%)
-----


Nie działa sadsmiley02.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 Aktualny czas: 20.08.2025 - 04:40