Autor Zpráva
VoxMortis
Profil
Na webu mi normálně funguje přepisování třeba

www.web.cz/index.php?s=kontakt na www.web.cz/kontakt.html

s tím není problém... spíš jsem se chtěl zeptat jestli by šlo odchytit několik stránek, kde by se něco takového nedělo

např. www.web.cz/index.php?s=admin by zůstalo tak jak je
Davex
Profil
Před přepisovací pravidlo se může přidat podmínka RewriteCond, která určité adresy z přepisování vyloučí.
VoxMortis
Profil
V .htaccess jsem nikdy nedělal...

no každopádně z těch tutoriálů na webu nejsem moc moudrý... Pokusil jsem se o něco takového
RewriteCond %{REQUEST_URI} !^index.php?s=stranka
RewriteRule  [L]

pokud soubor obsahuje index.php?s=stranka tak nedělej nic... ovšem nevím jak definovat to "nic". A také nevím kam to mám vlastně dát, aby ten kód pochopil, že nemá uplatňovat žádná jiná pravidla pokud narazí na tu správnou stránku
Fisak
Profil
spš by m zajímalo jak vyloučit z toho celé složky například mám v rootu složku images a upload a ty bych rád z toho vyloučil ... takže to bych měl napsat
RewriteCond %{REQUEST_URI} !^images/
RewriteRule  [L]
RewriteCond %{REQUEST_URI} !^upload/
RewriteRule  [L]
Davex
Profil
VoxMortis:
Jestliže nechceš přepisovat některé adresy s parametry ?s=admin, tak se musí u přepisovacího pravidla testovat obsah proměnné, která je obsahuje - v tomto případě %{QUERY_STRING}. Také je vhodné nepřepisovat existující soubory, protože by ses k nim nedostal, ale předpokládám, že to už nějak máš.

RewriteCond %{QUERY_STRING} !^s=admin$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=$1 [L]

pokud soubor obsahuje index.php?s=stranka tak nedělej nic... ovšem nevím jak definovat to "nic"
V této situaci otočíš podmínku v prvním pravidle a přiřadíš dělání ničeho. Toto pravidlo musí být před ostatními, aby se provedlo dříve.
RewriteCond %{QUERY_STRING} ^s=stranka$
RewriteRule ^ - [L]
VoxMortis
Profil
A jak by se dalo zamezit provádění těchto pravidel na vybrané subdomény?
Davex
Profil
Přídáním podmínky
RewriteCond %{HTTP_HOST} ^(prvnisubdomena|jinasubdomena)\.example\.com$

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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