ugrás a tartalomhoz

htaccess betölti kiterjesztés nélkül is a fájlokat

jeti · 2009. Júl. 18. (Szo), 13.16
Sziasztok!

Már több oldalt végig néztem a weblabor Google találati listáján, de sajnos nem találtam megoldást a problémámra. Az lenne a kérdésem, hogy miért jelennek meg a fájlok, ha csak a nevüket írom be a címsorba és nincs utána kiterjesztés se megadva? Ez bezavar a webcím struktúrájába is.
Pl.:
localhost/valami/fooldal -> OK, bejön a főoldal
localhost/valami/alap - > OK, bejön az alap információk tartalmú lap
localhost/valami/alapa -> hiba, mert megjelenik az alapa.css
(ezért kellett átneveznem is, hogy működjön az előző link)
localhost/valami/kep1 -> hiba, mert megjelenik a kep1.jpg

Miért van ez így és hogy lehet megoldani?

A htaccess állomány tartalma:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [QSA]
</IfModule>

Előre is köszönöm a segítséget.
 
3

kiskapu?

jeti · 2009. Júl. 18. (Szo), 20.27
Köszönöm a segítséget így már tökéletesen működik. Még egy kérdésem lenne: ezzel ugye nem nyitok semmiféle olyan kiskaput vagy támadási lehetőséget (amit le kéne kezelnem)?

<IfModule mod_rewrite.c>
RewriteEngine On
Options All
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [QSA]
</IfModule>
2

Mit csinál az index.php?

kerzo · 2009. Júl. 18. (Szo), 19.38
Mit csinál az index.php? Szerintem ott kellene megnézni, hogy kiszolgálható-e a fájl, vagy sem.
Vagy csinálj egy külön könyvtárat azoknak az elemeknek, amiket nem akarsz átadni az index.php-nak és rakd be a könyvtár nevét kivételnek a .htaccess-be.
RewriteCond %{REQUEST_FILENAME} !(css|images|js)
4

feldolgozza URL-t, letöltendő fájlok

jeti · 2009. Júl. 18. (Szo), 20.38
Az index.php feldolgozza a kapott paramétert. Amit írtam a példában az még az index.php-hoz sem kerül el, de most már igen.

A letöltendő fájlokat a documentumroot mappában kell elhelyezni? Ha azon kívül helyezem el, akkor még hozzáférek header("Location: ..."); függvénnyel?