Autor Zpráva
gogy27
Profil
Zdravim,

Po par mesiacoch som sa opäť dostal ku programovaniu a narazil som na jeden problém ktorý neviem ako vyriešiť. Mám takýto kód:
if ($_SERVER['REQUEST_URI'] == "/func.php" or $_SERVER['REQUEST_URI'] == "/func.php/") {
echo '<script>alert("Zakazana URL!!!")</script>';
          echo '<script>window.location.replace("index.php");</script>';
}

Je to na to aby užívateľ po zadaní tochto linku bol presmerovaný na index.php. Všetko ide ako má ale narazil som na problém, že ak zadam www.nieco.sk/func.php/blabla.php tak sa stránka zobrazí. Ako by som mohol dať do podmienky aby všetko čo ide za /func.php/ bralo ako tiež, že je to "zlý" link?

Ďakujem za odpoveď a vašu trpezlivosť :)
Werewolf
Profil
gogy27:
Použij .htaccess...

RewriteEngine On

RewriteRule func\.php /index\.php [R=301]
gogy27
Profil
ale ja mam tych suborov viac a chcem sa na nich odvolavat kliknutim na link ktory je priblizne takyto: index.php?clanek=func
Werewolf
Profil
gogy27:
V tom případě mám jedno řešení:
Před tyto „zabezpečené“ soubory dej nějaký znak, například podtržítko:

RewriteEngine On
RewriteRule ^_(.*)\.php /index\.php\?clanek=$1


Ještě vysvětlení:
Po zadání _cokoliv.php tě to přesměruje na index.php?clanek=cokoliv.
gogy27
Profil
Werewolf
nie je nahodou .htacces iba pre linuxove servery? co ak v pripade budem mat web na windows servery?
Joker
Profil
gogy27:
nie je nahodou .htacces iba pre linuxove servery?
Ne, je pro Apache. Tj. bude to fungovat i v Apache pod Windows. Naopak třeba v IIS to fungovat nebude.
martindeveloper
Profil
Na IIS by to též mělo fungovat pokud je nahozený URL Rewrite - http://www.iis.net/extensions/URLRewrite
Odzkoušeno na http://code.google.com/p/vision-cms/source/browse/trunk/.htaccess s URL Rewrite v2.0 Beta a bez problémů.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: