Strona 1 z 1

Mod_rewrite - tylko dla wybranych plików

: pn cze 18, 2007 10:25 am
autor: 7mm
Problem wygląda następująco.

Załóżmy, że mamy linka w stylu :

Kod: Zaznacz cały

index.php?art=23
po zastosowaniu mod_rewrite adres ustawiam na:

Kod: Zaznacz cały

artykul-23.html
ale co zrobić w przypadku gdy mam plik statyczny np. oferta.html w katalogu głównym.

Czy istnieje jakaś możliwość ustawienia reguł w pliku .htaccess aby do tego pliku nie stosować przyjaznych url-i. Bo tera skrypt widzi ten adres jako: index.php?oferta ?

Wiem, że można by dać ten plik do innego katalogu i tam użyć pliku .htaccess RewriteEngine Off ale czy istniej inne rozwiązanie?

Re: Mod_rewrite - tylko dla wybranych plików

: pn cze 18, 2007 1:55 pm
autor: 123456
Pokaż jak wygląda reguła przepisująca. Musi być dość dziwna skoro łapie nawet niewłaściwe pliki :?

Re: Mod_rewrite - tylko dla wybranych plików

: pn cze 18, 2007 5:27 pm
autor: 7mm
tak stosowałem

Kod: Zaznacz cały

RewriteEngine On
RewriteRule ^([^-]+)-([^-]+)\.html$ index.php?dzial=$1&id=$2 [L,NC,NS]
RewriteRule ^([^-]+)\.html$ index.php?dzial=$1 [L,NC,NS]
Część serwerów radziła sobie z tym dobrze a np. na jednym irlandzkim serwerze jak ktoś wpisał np. www.mojastrona.ie/obrazki/dom.jpg to on nadal wyświetlał pliki index.php z tym, że bez odpowiednich parametrów.

znalazłem coś takiego:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
to chyba pomoże bo sprawdzi czy zapytanie nie jest plikiem, czy też folderem - ale czy to zadziała okaże się przy najbliższej okazji