Disable modrewrite samo za eno podmapo
2 naročnika
2 naročnika
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 %{REQUESTURI} !^/pma/ [OR]
#rewriteCond %{REQUESTURI} !^/pma/favicon.ico [OR]
#rewriteCond %{REQUESTURI} !^/design/
#
#
#RewriteCond %{REQUESTURI} !^/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]) :)