Disable modrewrite samo za eno podmapo

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Kako tole onemogočiti samo za recimo /lala/ tako da se se mod_rewrite uporabi vedno, razen ko recimo na domena.com/lala/ ?

6 odgovorov

Mislim da bi šlo tako da bi naredil SKIP eno vrstico, in sicer tole ...

RewriteRule . /index.php [L]

tale skip bi zgleda nekako takole ...

RewriteRule (.*) - [S=1]

nevem pa kaj naj dam v RewriteCond, pa rad bi v pogoj dal več map, recimo /design, /admin, /lala.

Kaj bi dal v pogoj da bi delalo ? Pa če je sploh skip pravilen ...

RewriteCond prestudiraj...

#rewriteCond %{REQUESTURI} !^/pma/ [OR]
#rewriteCond %{REQUEST
URI} !^/pma/favicon.ico [OR]
#rewriteCond %{REQUESTURI} !^/design/
#
#
#RewriteCond %{REQUEST
URI} !^/pma/(.*)$ [OR]
#RewriteCond %{REQUESTURI} !^/failedauth.html$

mogoče je tole ... nevem, ker mislim da ni v htaccess problem, bom rešil drugače ...

Logike se niste delal v soli? :)

(NOT A) OR (NOT B) OR (NOT C) <=> NOT (A AND B AND C) (DeMorganov teorem)

Tega verjetno nisi zelel dosezt, ja?

Nismo ... al pa je bilo takrat ko sem šprical.

potem takem pa samo tole:

RewriteCond %{REQUEST_URI} !^/pma/(.*)$

pa vse vržem v mapo pma recimo :). Čeprav sem že rekel da bom rešil drugače, tako da nisem niti poskušal če tole dela.

Tako nekako, ja... Ce bos to dajal v .htaccess bos moral prvi slash umakniti... .htaccess dela na direktorijskem nivoju in so njegov input za rewrite relativne poti glede na ta direktorij. Takole:

RewriteCond %{REQUEST_URI} !^pma/

Pazi, tistega .* matchinga na koncu ne rabis, ni pa nic narobe, ce je tam, le nepotreben je.

Drugace bi pa tudi tvoj gornji problem za vec direktorijev lahko resil enostavno z uporabo AND operatorja (samo spustis tisti [OR]) :)