- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen billentyűzetet vegyek?
- iPad topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Milyen notebookot vegyek?
- Házimozi belépő szinten
- IGP nélküli processzorokkal készül az Intel és az AMD
- Vezetékes FEJhallgatók
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
Új hozzászólás Aktív témák
-
cucka
addikt
válasz
DNReNTi #17244 üzenetére
A kérdésedre a válasz egyértelmű lesz, amint megérted, hogy mit is csinál a htaccess-ed.
Röviden: a mod_rewrite apache modult használod. Ez arra jó, hogy ha bejön egy kérés a webszervernek, akkor azt bizonyos feltételek esetén átváltoztatja egy másik request-é.
Például adott egy ilyen URL, hogy http://itcafe.hu/tema/php_kerdesek_2/hsz_17201-17300.html
Valószínű, hogy ez nem egy létező filera mutat egy szerveren, hanem a mod_rewrite átírja valami hasonlóra:
http://itcafe.hu/forum.php?name=php_kerdesek_2&from=17201&to=17300
Csak példa, nem tudom, hogy működik valójában a RIOS..Alapesetben az Apache webszerver egy adott könyvtárban található fileokat tud kiszolgálni. Tehát fenti esetben ha nem lenne mod_rewrite, akkor a hsz_17201-17300.html nevű filet kerené az URL-ben megadott könyvtárban.
A te esetedben ugyanez történik. Létrehozol egy rewrite szabályt, ami csak akkor teljesül, ha a hivatkozott tartalom nemlétező file és nemlétező könyvtár (ez a két RewriteCond). Az átírási szabály az átdobja a PHP-nek a kérést. (Ez a RewriteRule sor)Namost ez azt eredményezi, hogy MINDEN olyan kérést, ami egy nemlétező filera vagy könyvtárra mutat, azt át fogja dobni a PHP-nak. Ha írok egy szkriptet ami random fileokat kérdezget a szerveredtől, kb. mindegyik kérésem be fog hívni a php szkriptedbe (hacsak nem találom ki randomra egy létező file nevét a szerveren). Remélhetőleg innen te is össze tudod rakni, hogy az általad vázolt plusz szabály miért csak látszólagos megoldás a problémádra.
A valódi megoldást már leírták, ha így akarod használni a mod_rewrite-ot, akkor a PHP le kell tudja kezelni a hibás request-eket is. Pl.
<?php
function isRequestValid(){
//ezt neked kell megirni
}
if (!isRequestValid()){
http_response_code(404);
die();
}
//a program többi alkatrésze..
?> -
wis
tag
válasz
DNReNTi #17244 üzenetére
Mivel a nem létező fájlnál továbbfut az index.php-ra ami létezik így 200. Innentől a te kódod felelőssége, hogy nem létező oldalnál 404-et dobjon.
Egyes böngészők pedig automatikusan betöltik a /favicon.ico-t.
Teória a kétszeres favicon betöltésre: mivel elsőre 200-as kódot kap, de a tartalom nem érvényes kép, így újra megpróbálja.
Új hozzászólás Aktív témák
- i7 8700/ 32GB DDR4/ 512GB gen4 SSD/ R5 430 2GBD5/ HP 400G5 SFF/ garancia/ ingyen foxpost
- TUF F15 FX507ZI4 15.6" FHD IPS i7-12700H RTX 4070 32GB 512GB NVMe gar
- AKCIÓ!! i9 9900 , RX 5700 XT , 32GB DDR4 , 512GB NVME , 2TB HDD
- Inspiron 14 7440 2-in-1 14" FHD+ IPS érintő Core 5 120U 16GB 512GB NVMe magyar vbill ujjolv gar
- Garis ZOTAC GeForce RTX 4070 Ti Trinity 12GB GDDR6X videokártya
- Csere-Beszámítás! AMD Ryzen 7 9700X Processzor!
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Jo Nesbo: LEOPÁRD (nem olvasott)
- Bomba ár! HP EliteBook 830 G5 - i5-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest