Michał90
24.01.2010, 23:08:45
Witam,
zamieniam sobie tak adres:
RewriteRule ^([^/]*)\.html$ /katalog/search.php?tytul=$1 [L]
i teraz gdy przejde na 2 strone to nie czyta mi style.css
Dlaczego ?

Pozdrawiam
Ellington
24.01.2010, 23:35:09
Mod_rewrite, z tego, co mi wiadomo, nie przepisze Ci adresów wszystkich elementów na stronie, a jedynie zrobi przekierowanie samej strony. Zatem - wyświetlanie strony odbywa się z katalogu powyżej, gdzie Twojego pliku stylu CSS nie ma - a przynajmniej adres, który masz na podstronie search.php nie prowadzi już do niego.
Jedną z możliwych opcji jest ustawienie twardych linków, rozpoczynających się znakiem / dla elementów typu img czy linków do stylów i skryptów.
Fifi209
24.01.2010, 23:47:25
[^/]*
a nie
[^/]+
przypadkiem ?

Przed ścieżkami do np. css daj /
piotr94
25.01.2010, 11:47:05
albo podawaj całe adresu url ;-)
Ellington
25.01.2010, 12:06:06
Cytat
albo podawaj całe adresu url ;-)
To chyba spowodowałoby nieznaczne zwolnienie serwisu, logicznie rzecz biorąc. Tak mi się wydaje. Nigdy nie badałem tego benchmarkiem, ale takie prowadzenie do pliku, który jest na serwerze okrężną drogą może spowolnić działanie strony. Na pewno jest to jedno z rozwiązań, ale chyba optymalnym będzie dodanie przed ścieżką ukośnika.
pedro84
25.01.2010, 13:10:40
Wygodniej Ci będzie podawać
ścieżki absolutne.
EDIT:
Nie zauważyłem posta Ellington'a, więc żeby nie było, masz link