Hej, jobbar med en php site i MVC mönstret just nu och har stött på ett problem med mod rewriten.
Katalogstruktur:
application | library | public
längst uppe (katalogen innan de 3) ser .htacess filen ut såhär:
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
sen i public katalogen ser den ut såhär:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/application/views(/.*)?$ [NC]
RewriteRule ^(.*)$ index.php?cmd=$1 [PT,L]
index.php i public katalogen är front controllern
problemet är när views vill ladda css och bilder. De ligger i application > views.
t.ex index.php i views/ vill ladda en css fil med länken;
http://localhost/siesta/views/css/admin-login.css
alternativt;
css/admin-login.css (en lösning för laddning utan absolut path vore nog bäst)
och då tar rewriten över och tror att kontrollern Views ska laddas med css som action.
(<b>Warning</b>: require(C:\xampplite\htdocs\Siesta\application/controllers/ViewsController.php)
Jag är lite lost, från vad jag förstår så ska RewriteCond %{REQUEST_URI} !^/application/views(/.*)?$ [NC] göra så att rewrite inte tillåts i views katalogen oavsett vilken typ av fil som laddas? Alltså bilder och sånt ska laddas med normal path , då views hanteras av en rad klasser i biblioteket med includes så ska de inte ha något me rewriten att göra.
:'(