Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] przekierowanie na index.php a pliki css i img
Forum PHP.pl > Forum > Przedszkole
-qwe-
Chciałbym przekierować każde odwołanie na index.php taki mini FW... Pliki css/js/img mam w tym samym folderze co index.php jako katalog "web". Napisałem taką strukturę:

Cytat
RewriteEngine On

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)?$ index.php [QSA,L]


Jednak nie działa to tak jak powinno... Załóżmy że mam adres strony

http://localhost/ i odwołanie do pliku css w dokumencie html ./web/cokolwiek/style.css wtedy wszytko dziala dobrze... jednak gdy wpiszę adres: http://localhost/cos/cos/cokolwiek/bleble style nie są wczytywane. Zauważyłem że działa odwołanie do pliku

Cytat
/./web/cokolwiek/style.css


Więc jak mam odwoływać się do tych plików w dokumentach html? przez "./" czy "/" zawsze myślałem że skoro przekierowanie jest na index to struktura idzie od miejsca w którym on się znajduje i "./" jest prawne, co w takim razie oznacza "/" ?
IProSoft
Podobny topic
http://forum.php.pl/index.php?showtopic=62595

Kod
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]
Gość
Nie działa.
Sephirus
Dobrym sposobem jest też jeśli masz powiedzmy taką strukturę:
Kod
-- WWW/
    -- index.php
    -- CSS/
        -- style.css
itd...

dać w katalogach ze statyczną treścią prostą regułkę w pliku htaccess:

Kod
RewriteEngine Off


wink.gif

EDIT: Zawsze też możesz (aby uniknąć braku styli) podawać do styli ścieżki bezwzględne lub uzyć HTMLowego znacznika <BASE>
Gość
base odpada, nie zwaliduje mi się strona, poza tym za dużo by było trzeba zmieniać w plikach w razie zmiany hostingu. Ustawiłem "/" przy generowaniu ścieżki i działa dobrze, przynajmniej nie zauważyłem problemów, choć interesuje mnie dlaczego to tak działa... jest to uznawane za ścieżkę bezpośrednią z katalogu głównego (tu public_html) ? I czy to będzie działało pod innym systemem niż linux?
czychacz
spróbuj zastąpić deklarację css
Kod
<link rel="stylesheet" href="rotfl/lol.css">

na
Kod
<link rel="stylesheet" href="./rotfl/lol.css">

czyli dodaj odwołanie do aktualnego katalogu

nie gwarantuję, że pomoże, bo system, z którego ja korzystałem, miał podobny problem, ale inną budowę.
phpion
Nie ./ tylko / Pierwsze to odwołanie do katalogu bieżącego (w przypadku adresu URL imitującego ścieżkę do katalogu nie sprawdzi się), drugie to odwołanie do katalogu głównego dostępnego z poziomu przeglądarki (sprawdzi się).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.