Autor Zpráva
Radim24
Profil
Zdravím, poradíte mi jak napsat RewriteCond?

Potřebuji podmínku, že pravidlo se nemá aplikovat pokud soubor končí na \.jpg|\.gif (nebo cokoliv co dokáže zabránit zpracování url, která obsahuje název souboru s koncovkou) Dík
AM_
Profil
co
RewriteCond {%REQUEST_FILENAME} !-f

to by mělo zaručit, že pravidlo se nebude vztahovat na adresy, které představují existující soubory.
Radim24
Profil
myslím, že to je něco jiného. Tohle pravidlo testuje zda ten soubor existuje na disku. Ja budu mít adresu ve smyslu

index?id=view&dir=adresar&sub=subdir&pic=1024.jpg

nebo vlastně ve formátu /adresar/dubdir/pic1024.jpg - ale tento soubor fyzicky neexistuje... je to jen maska nebo jak se tomu říká... Proto potřebuju test na konec řetězce... buď že se tam nesmí objevovat znak & nebo že to nesmí končit na \.\w{3,3}$ ... ale nevím jak to zakomponovat do te podminky
Kajman_
Profil *
Za otazníkem přeci už není název souboru. Bude se testovat jen index a pokud to bude soubor, tak se další jedno rewriterule neprovede.
Radim24
Profil
Kajman_
Myslím, že jsem tě pochopil, až když jsem se pokusil příklad více konkrétněji rozebrat:

Testovaný url:
http://web-design.rozhled.cz/test/d_fotoalbum/

Pravidlo:
RewriteEngine On
Options -Indexes
RewriteRule ^d_(fotoalbum)/$ index.php?id=$1_preview [L]

A problém:
Problém je v tom, že url, které patří obrázku se zpracují podle téhož pravidla:

Obrázková URL:
<img class=ico src='./fotoalbum/maternity/19th/dir_icon.jpg'>

Závěr:
Takže podle toho pravidla, pokud jde o reálně existující soubor, čili obrázek - tak se nevykoná. Takže to by šlo. Věděl jsem, že tohle pravidlo existuje, ale tohle mě nenapadlo.
Radim24
Profil
Ale zatím se obrázky stále nezobrazují - jak to?
Kajman_
Profil *
Pokud vytvoříte pomocí rewrite virtuální adresářovou strukturu, je třeba na obrázky odkazovat relativně k této nové struktuře a zanoření nebo s využitím absolutní cesty (začínající na /).
Radim24
Profil
myslíte tím vložit tam např. ./././
Kajman_
Profil *
Buď ../fotoalbum/maternity/19th/dir_icon.jpg (počet ../ musí měnit podle zanoření) nebo /test/fotoalbum/maternity/19th/dir_icon.jpg

Nyní odkazujete z adresáře /test/d_fotoalbum/ na obrázek ./fotoalbum/maternity/19th/dir_icon.jpg , takže výsledek je
http://web-design.rozhled.cz/test/d_fotoalbum/fotoalbum/maternity/19th/dir_icon.jpg
Radim24
Profil
Nějak to nechápu.

Tento odkaz má jako být pro obrázek?:
http://web-design.rozhled.cz/test/d_fotoalbum/fotoalbum/maternity/19th/dir_icon.jpg
Proč tak složitě? proč tam je dvakrát do foroalbum? d_fotoalbum = directory of fotoalbum.

Je to pro mě problém. Všechny obrázky v css jsou přece nastaveny staticky.

Možné varianty cesty:

http://web-design.rozhled.cz/test/d_fotoalbum/preview (poslední slovo značí akci)
http://web-design.rozhled.cz/test/d_fotoalbum/s_maternity/preview (maternity je podadresář)
http://web-design.rozhled.cz/test/d_fotoalbum/s_maternity/preview/n_2 (n je číslo stránky)
http://web-design.rozhled.cz/test/d_fotoalbum/s_maternity/zena_a_dite_12.jpg (podlední parametr odpovídá &pic=zena_a_dite&num=12 , kde num je identifikátor souboru)

Při tom všem se může adresář třikrát posunout:
./
././
./././
A jak mám potom do souboru ccs nadefinovat cesty, to bych musel pokaždé nastavit samostatný soubor s jinými cestami... dost šílená představa

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0