ugrás a tartalomhoz

.htaccess rewriterule, de rewritecond bizonyos fájl típusokra

killroy · 2009. Szep. 5. (Szo), 09.22
Sziasztok!

Apache2 szerveren dolgozom + Ubuntu op rendszer. Felhasználó barát url-eket szeretnék létrehozni, úgy, hogy htaccess-be mindent átírányítok az index.php-re és itt egy osztállyal lekezelem az URI-kat de ez most annyira nem is fontos, tehát:

RewriteRule ^(.*)$ index.php

ez működik is, ezzel már elértem azt hogy a domain.hu/valami/megvalami-re ne könyvtárakat keressen hanem ugyanúgy jelenjen meg az index.php, én pedig a /valami/megvalami URI-t szépen feldolgozom.

A problémám az hogy megadtam kivétel kezelést css fájlokra, hogy ha azt szeretné elérni az oldal akkor ebben az esetben ne az index.php-ra dobja át hanem valóban keresse meg ezt a css fájlt a megadott elérési útvonalon és töltse be.

A kivétel kezelésem így néz ki:
RewriteCond %{REQUEST_FILENAME} !^(.*)css/layout.css$

természetesen a .htaccess-ben a cond előbb van mint a rule.

Ez URI nélkül működik is de ha a domain után megadok valami URI-t, pl.: /valami/megvalami/ akkor már nem tölti be a css-t.

Valószínűleg a szintaxis rossz a cond esetében, illetve nem rossz csak nem egészen megfelelő. :) Valaki le tudná írni nekem hogy ilyenkor mi a tuti cond-os sor? Előre is köszönöm!
 
1

Itt a válasz:

rrd · 2009. Szep. 5. (Szo), 11.45
Itt a válasz: http://webmania.cc/url-atirasok-apache-mod-rewrite/
2

html base

gex · 2009. Szep. 5. (Szo), 15.48
a probléma leírásából azt gyanítom hogy neked a base tag-re van szükséged. ha a css elérési útját úgy adod meg hogy css/layout.css akkor a domain.tld/valami/megvalami/ oldalon a domain.tld/valami/megvalami/css/layout.css fájlt akarod majd lekérni a domain.tld/css/layout.css helyett.

error.log és rewrite.log a barátaid.