Autor Zpráva
Peet
Profil
Dobrý den, mám problém s načítáním css a img do subdomén..

používám tento kod ´.. pokud dam [R] funguje ovšem adresa je špatně

nemáte někdo nějaký tip ?

RewriteCond %{HTTP_HOST} ^(+).example.eu$]www\.)?([a-zA-Z]+)\.example\.eu$
RewriteRule ^([a-zA-Z]*)$ /slozka/?sub=%2&page=$1 [L]
Peet
Profil
Pokud nepoužiji lomeno mezi slozkou a parametrey GET tak také funguje ale chová se jako [R]

RewriteRule ^([a-zA-Z]*)$ /slozka?sub=%2&page=$1 [L]


1) rozdíl mezi rewriteRule a rewriteCond vždyt rewriteRule je prece take takova podminka, pokud je url adresa takova a takova nastrč tohle a tohle.


2) chápu správně že když chci použít jakýkoliv znak jako je tečka nebo lomeno musím je dát do zpětných lomítek?


3) Po splnění podmínky RewriteCond se k proměnným z rewriteCond dostanu přes % a z rewriteRule přes $ ?


4) Po splnění podmínky rewriteCond se píše rewriteRule a vněm je proměnná (.*) co obsahuje ?


5) Je funkce tohoto znaku ^ odlišná v rewriteCond a rewriteRule ? nebo co tedy znamená ?


6) co obsahuje proměnná %{REQUEST_URI} ? nebo nějaký odkaz kde je popsáno co tyto proměnné znamenají


7) Jak je možné že po splnění RewriteCond při použití rewriteRule ...... [L], stránku nepodstrčí ale přímo přesměruje ?
Davex
Profil
ad 1) Viz Mod_rewrite » Podmínky RewriteCond.

ad 2) Tečka má v regulárním výrazu speciální význam (libovolný znak), a pokud má být sama sebou, tak se musí escapovat zpětným lomítkem \., stejně jako jiné speciální znaky.

ad 3) Ano, ale přes reference %0-%9 pouze z poslední podmínky RewriteCond.

ad 4) (.*) je regulární výraz s podvýrazem a není to proměnná. V pravidle RewriteRule bude do reference $1 uložena část cesty, která regulárnímu výrazu vyhovuje - tedy jakýkoliv počet libovolných znaků = celou cestu. Viz Dokumentace mod_rewrite - Regulární výrazy (anglicky).

ad 5) Význam je v obou stejný. ^ je znak, který má v regulárních výrazech dva různé speciální významy.

ad 6)
Dokumentace mod_rewrite - RewriteCond
AskApache - mod_rewrite proměnné (anglicky)

ad 7) Toto konkrétní pravidlo by přesměrovávat nemělo. Pokud je slozka existující adresář, tak by teoreticky mohl přesměrovávat modul mod_dir, který tak přidává lomítko za jméno adresáře.


Tvé mazání dotazů se mi nelíbí. Teď jsem tu hodinu psal odpověď.
Peet
Profil
Vrátím otázky


Mockrát děkuji za odpovědi už se mi vše ujasňuje :)

ale nevíte co s tím css a obrázky ?
Davex
Profil
Peet:
mám problém s načítáním css a img do subdomén
Nevím, odkud se mají načítat a jak se ten problém projevuje, ale pokud se místo nich načítá něco jiného, tak by to mohlo být tím, že pravidlo přepisuje všechny adresy do složky. Opravdové soubory by asi přepisovat nemělo.
Peet
Profil
Vyřešil jsem to absolutními adresami používal jsem například načítání css "style.css" vyřešeno takto "/slozka/style.css"

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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