ugrás a tartalomhoz

RewriteEngine - Jó ez így?

s_volenszki · 2008. Okt. 22. (Sze), 09.38
Sziasztok!

Nincs sok tapasztalatom RewriteEngine-nel kapcsolatosan és Apache tudásom is kizárólag fakultatív, ezért kérlek vessetek egy pillantást erre a .htaccess fájlra:

<IfModule mod_rewrite.c>  
    RewriteEngine on
    
    RewriteBase /mvc/admin/  
    RewriteCond %{REQUEST_URI} !(^index.php$)
    RewriteCond %{REQUEST_URI} !(\.(js|css|ico|gif|jpg|png|pdf)$)
    RewriteRule (.*) index.php
</IfModule>
A célom egy front controller, azaz a szerveren a http://www.valami.hu/mvc/admin/ könyvtárban a felsorolt kivételektől eltekintve minden teljesíthetetlen kérés az index php-n landoljon.

Egyébként kipróbáltam és működik, ennek ellenére kérdezlek titeket, biztonsággal használhatom?

Üdv,
s_volenszki
 
1

én így szoktam használni

amonrpg · 2008. Okt. 22. (Sze), 10.31
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?params=$1 [L,QSA]
</IfModule>
Ez annyit jelent, hogy minden olyan fájl és könyvtár, ami nem létezik, megy be az index.php-ba. Azaz nem kell külön felsorolni a kivételeket.
2

máshogy közelítitek meg

gex · 2008. Okt. 22. (Sze), 10.53
a te esetedben be lehet írni a böngészőbe a domain.tld/secret/scripts/install/deletedatabase.php címet is. persze tudom, hogy ilyet meg nem szabad fent hagyni, de nekem mégis jobban tetszik az, hogy egy bemeneti pont van a programban.
3

Igen, értem a különbséget!

s_volenszki · 2008. Okt. 22. (Sze), 11.40
Igen, értem a különbséget a kettő szabály között:

Míg az első, a kitételben felsorolt kiterjesztésekkel nem egyező összes kérést irányítja az index.php-ra, addig a második, csak a nemlétező lekérdezéseket.