Gondolom nem vagyok egyedül, amikor azt mondom, hogy lassan kezdenek unalmassá válni a .php, .html, .asp és ehhez hasonló kiterjesztések az url-ek végén. Pár perc alatt “készíthetünk” egyéni kiterjesztéseket weben közzétett fájljainknak, ráadásul az eredeti fájl- és könyvtárstruktúra megtartásával. Példának vegyük a következőt: szeretném, ha a weblapomon az unalomig ismert .php kiterjesztés helyett .blacky kiterjesztéssel kerülnének fel a fájljaim. Egyik - kézenfekvő - lehetőség, hogy átnevezgetem őket, azonban ekkor nem valószínű, hogy az Apache átküldi a php fordítón a fájlokat, és a korábbi linkelés többé nem fog működni, így például a Kedvencekbe mentett linkek 404-et adnának. (Persze az első problémát, a PHP feldolgozást, egy AddType direktívával .htaccess-ből vagy httpd.conf-ból megoldhatnánk) Megintcsak az Apache-hoz készült mod_rewrite-ot fogjuk használni. Az adott könyvtárban hozzunk létre egy .htaccess fájlt, és töltsük fel a következő tartalommal:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule (.+).blacky(\?[.+?])?$ $1.php$2
</IfModule>
Nézzük sorban: az IfModule rész (ami az és között található) csak akkor kerül értelmezésre, ha a megadott modul (esetünkben a mod_rewrite) megtalálható és be van töltve. Erre szükség van, mert ha nem kötnénk feltételhez a közte levő részt és a mod_rewrite nincs betöltve, akkor Internal server error-t kapnánk). A következő sorban a RewriteEngine direktíva On értékre állításával bekapcsoljuk az újraírót, majd megadunk neki egy szabályt. Azoknak, akik jártasak a reguláris kifejezések (RegExp) világában, ismerős lehet. “Magyarra fordítva” a következő jelenti nagyjából: Ha a kért url bármilyen karakterből legalább eggyel kezdődik, majd van benne egy .blacky szöveg, majd van vagy egy kérdőjel után álló bármilyen sorozat vagy nem, akkor írd újra az url-t úgy, hogy a .blacky előtt álló rész mögé írj egy .php-t, majd ha valami állt a .blacky után, akkor azt a végére. És így lesz mondjuk az /about.blacky url-ből /about.php, vagy a /hirek.php?hirazonosito=12-ből /hirek.blacky?hirazonosito=12. Ezután már csak az oldalainkon található linkelést kell átírnunk, és kész is vagyunk az egyéniesített fájlnevekkel. Azon túl, hogy “személyesebbek” lehetnek a fájljaink még egy plusz biztonsági szintet is beépítettünk: még a PHP kézikönyv is ír az A PHP elrejtése c. fejezetében a fájl típus regtegetéséről. Nem nagy védelem, de ha már egy script kiddiet elijesztett oldalunk feltörésétől (vagy akár az erre tett kísérlettől) már hasznos volt. Természetesen ennél még sokkal többet ki lehet hozni a mod_rewrite-ból, rengeteg további lehetőség van a mod_rewrite-ban...
A régi blogon érkezett hozzászólások archívuma. Új hozzászólást már nem lehet írni.
dzsoni
ez nekem nem nagyon akar működni...
Harderszerzőblog.harder.hu
Ennél több infót légyszíves ne mondj, szeretnénk kitalálni, vajon mi lehet a probléma mert túl sok szabadidővel rendelkezünk és találgatni olyan izgalmas dolog. ;)
dani
hm nekem se akaar működni..
Csináltam egy .htacces-t, abba bemásoltam amit írtál, aztán csináltam egy teszt.blacky-t és azt írja ki hogy 404 error.
BlackY
1. Milyen szerver? htaccess támogatás (Alow override a httpd.conf-ban) van? mod_rewirte van?
2. A fenti lényege pont az, hogy nem teszt.blacky-t csinálsz, hanem teszt.php-t, csak a böngészőből hívod meg teszt.blacky néven!
BlackY
Stageline
Nincs benne a RewriteBase / azért nem működött nekik.
RewriteEngine On
RewriteBase /
RewriteRule (.+).blacky(?[.+?])?$ $1.php$2
adamsadams_foto.extra.hu
általában az ingyenes szolgáltatók nem engedélyezik a .htacces használatát. szóval lehet, h emiatt van a gondod.
Krisztiánwww.tutorial.hu
Üdv!
Nekem működik ez az új fájl, de megoldható lenne az, hogy a .php kiterjesztést letilthassam, hogy a böngésző azt ne tudja megnyitni, vagy 404-et dobjon, és csak az uj kiterjesztést engedje (pl. index.blacky-t igen, és az index.php-t már ne)
Köszönöm...
BlackY
Helló!
Így reggel az első kávé közben az egyetlen épelméjű megoldás, amit ki tudtam találni, hogy elrejted a php fileokat: fogod az összeset, bedobálod egy hidden vagy akármi könyvtárba, és átírod a htaccess-t:
Sajnos ha letiltod a *.php-hez a hozzáférést (Order deny,allow, deny from all), akkor a .blacky néven keresztül sem lehet elérni... A fenti .htaccess 404-et dob a sima php kérésekre, viszont ha egy url-be bekerül a hidden/ (vagy akármi) is, akkor gond nélkül megnyitja :(
BlackY
Rushstoppage.szunyi.com
Üdv. Én is megpróbáltam ezt a kis trükköt, de nekem maradt minden .php
lásd: stoppage.szunyi.com/news.php
és engedélyezett a .htaccess, mert nem ír ki hibaüzenetet.
Squito
És mi van, ha:
AddType application/x-httpd-php .php .blacky
RewriteEngine-nel csinálva nekem így tökéletesen működött:
RewriteEngine On
RewriteRule ^(.*).blacky(.*)$ $1.php$2 [L]
gyuri
Hát sajnos ez nekem se akar menni akár melyiket próbáltam pedig ez tényleg jó ötlet.
Én például a okhost.nál tároltatom a weboldalamat, és gond nélkül müködik. Csinálsz egy .htaccess filet. tehát simánt megnyits egy jegyzettömböt belemásolod a legfelül (
RewriteEngine On
RewriteRule (.+).blacky(\?[.+?])?$ $1.php$2
ezt. és elmented .htaccess így. és megvan, a másik a weboldalon nem úgy nyitsz meg egy linket hogy index.php hanem index.blacky és már müködni is fog, a másik hogy ilyenkor ajánlatos minden oldalba egy
ilyet rakni, és behívni egy php fileból a navigációt, mert elég kényes lehet minden html-php filet módosítani, főleg ha az oldal nem 3-4 php/htmlből ál. remélem ennyivel tudtam segíteni :). Üdvözlettel Raim(oldalam http://wowaddon.clanbazis.com/index.wowaddon)
Az oldal működéséhez szükséges sütiken túl statisztikai (és később marketing) célból is
használunk sütiket. Részletek:
Adatkezelési tájékoztató
Süti-beállítások
Szükséges
Az oldal alapvető működéséhez elengedhetetlenek (kapcsolati űrlap munkamenete, biztonsági token, süti-beállításod megjegyzése). Nem tárolnak azonosításra alkalmas adatot, és nem kapcsolhatók ki.
Korábbi hozzászólások (14)
A régi blogon érkezett hozzászólások archívuma. Új hozzászólást már nem lehet írni.
ez nekem nem nagyon akar működni...
Ennél több infót légyszíves ne mondj, szeretnénk kitalálni, vajon mi lehet a probléma mert túl sok szabadidővel rendelkezünk és találgatni olyan izgalmas dolog. ;)
hm nekem se akaar működni..
Csináltam egy .htacces-t, abba bemásoltam amit írtál, aztán csináltam egy teszt.blacky-t és azt írja ki hogy 404 error.
1. Milyen szerver? htaccess támogatás (Alow override a httpd.conf-ban) van? mod_rewirte van?
2. A fenti lényege pont az, hogy nem teszt.blacky-t csinálsz, hanem teszt.php-t, csak a böngészőből hívod meg teszt.blacky néven!
BlackY
Nincs benne a RewriteBase / azért nem működött nekik.
RewriteEngine On
RewriteBase /
RewriteRule (.+).blacky(?[.+?])?$ $1.php$2
általában az ingyenes szolgáltatók nem engedélyezik a .htacces használatát. szóval lehet, h emiatt van a gondod.
Üdv!
Nekem működik ez az új fájl, de megoldható lenne az, hogy a .php kiterjesztést letilthassam, hogy a böngésző azt ne tudja megnyitni, vagy 404-et dobjon, és csak az uj kiterjesztést engedje (pl. index.blacky-t igen, és az index.php-t már ne)
Köszönöm...
Helló!
Így reggel az első kávé közben az egyetlen épelméjű megoldás, amit ki tudtam találni, hogy elrejted a php fileokat: fogod az összeset, bedobálod egy hidden vagy akármi könyvtárba, és átírod a htaccess-t:
RewriteEngine On
RewriteBase /
RewriteRule ^$ index.blacky [R=permanent,L]
RewriteRule (.+).blacky(?[.+?])?$ hidden/$1.php$2
Sajnos ha letiltod a *.php-hez a hozzáférést (Order deny,allow, deny from all), akkor a .blacky néven keresztül sem lehet elérni... A fenti .htaccess 404-et dob a sima php kérésekre, viszont ha egy url-be bekerül a hidden/ (vagy akármi) is, akkor gond nélkül megnyitja :(
BlackY
Üdv. Én is megpróbáltam ezt a kis trükköt, de nekem maradt minden .php
lásd: stoppage.szunyi.com/news.php
és engedélyezett a .htaccess, mert nem ír ki hibaüzenetet.
És mi van, ha:
AddType application/x-httpd-php .php .blacky
RewriteEngine-nel csinálva nekem így tökéletesen működött:
RewriteEngine On
RewriteRule ^(.*).blacky(.*)$ $1.php$2 [L]
Hát sajnos ez nekem se akar menni akár melyiket próbáltam pedig ez tényleg jó ötlet.
juj bocsánat fegyelmetlen voltam.Működik tökkéletesen köszönöm szépen neked.
További 2 hozzászólás-szál megjelenítése
Én például a okhost.nál tároltatom a weboldalamat, és gond nélkül müködik. Csinálsz egy .htaccess filet. tehát simánt megnyits egy jegyzettömböt belemásolod a legfelül (
RewriteEngine On
RewriteRule (.+).blacky(\?[.+?])?$ $1.php$2
ezt. és elmented .htaccess így. és megvan, a másik a weboldalon nem úgy nyitsz meg egy linket hogy index.php hanem index.blacky és már müködni is fog, a másik hogy ilyenkor ajánlatos minden oldalba egy
ilyet rakni, és behívni egy php fileból a navigációt, mert elég kényes lehet minden html-php filet módosítani, főleg ha az oldal nem 3-4 php/htmlből ál. remélem ennyivel tudtam segíteni :). Üdvözlettel Raim(oldalam http://wowaddon.clanbazis.com/index.wowaddon)
Nekem ez bevállt:
RewriteEngine On
RewriteBase /
RewriteRule ^$ index.pc [R=permanent,L]
RewriteRule (.+).pc(\?[.+?])?$ file/$1.php$2
csak ennyi a gondom vele h pl a domain.com/test/alma.pc-re nem hoz be semmit mert a gyökérkönyvtárból kezdi el a file/ valamit ezt h lehet megoldani?
Van hozzáfűznivalód? Írj nekem közvetlenül.
Kapcsolat