Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z mod rewrite i odnośnikami do plików
Forum PHP.pl > Forum > PHP
hubson812
Witam,

W pliku .htaccess

CODE
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([^.]*)$ index.php/$1


dzieki czemu otwierajac adres http://www.mojastrona.pl/parametr1/paramter2

zawsze otwiera index.php, w którym mam kod

CODE
$Params = array();
$DefaultParams = '/informacje';
$_SERVER['PATH_INFO'] = isset( $_SERVER['PATH_INFO'] ) ? $_SERVER['PATH_INFO'] : $DefaultParams;
$Params = explode( '/', substr( $_SERVER['PATH_INFO'], 1) );


dzieli on wszystkie paramtry wejściowe, które odzielone są slashami i mam je dostępne w wektorze. Ale pojawia się problem z odnośnikami do obrazków, pliku css, itp. Przy wpisaniu http://www.mojastrona.pl/ wszystko jest ok, ale jak już podam jakies paramtery to kod wykonywany jest poprawnie, ale strona wygląda tak jakby nie był ładowany ani plik css, ani obrazki.

przykładowy link do pliku css:

CODE
<link rel="stylesheet" type="text/css" href="theme/css.css" />
danket
Mialem podobny problem, zalatwiłem to w większości po stronie php, bo nic innego nei wymyśliłem :/
Jest to bardzo proste rozwiązanie. Niestety zaprzęga sie parser do roboty, a przeciez nie o to chodzi, nie?
A jestem pewien, że można rozwiązać to po stronie mod_rewrite'a. Tylko nie wiem jeszcze jak smile.gif Ale się dowiem smile.gif

Do .htaccess dopisz sobie
CODE
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d


a potem w pliku głownym, czy gdzie dajesz funkcje, napisz sobie funkcje która zmienia ścieżkę relatywną na całe URI. Np.:
CODE
function rel2uri($relativePath) {

return $uri = 'http://'.str_replace($_SERVER['DOCUMENT_ROOT'],$_SERVER['HTTP_HOST'],realpath($relativePath));

}


i potem tylko zamiast src="sciezka/do.jpg" dajesz src="'.rel2uri('sciezka/do.jpg').'"

Pamietaj, ze to konkretnie rozwiązanie dziala tylko do ścieżek relatywnych, jak podasz pełen uri to zdurnieje parser i głupoty wyjdą . Znaczy sie po prostu obrazek sie nei wyświetli.
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.