• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

preg_match ignoriert Punkt

xXxPeterPanxXx

Neues Mitglied
Hi,

da ich mit mod rewrite arbeite und Doppelcontent vermeiden will habe ich einen kleinen preg_match() Code der überprüft ob die PHP Endung .php in der URL vorkommt, wenn sie vorkommt soll der Header einen error404 melden.

Das klappt auch alles, aber leider meldet der header auch einen error404, wenn in der URL nur php (ohne Punkt) steht.

PHP:
if(preg_match("/.php/", $_SERVER['REQUEST_URI'])) {
  include("inc/functions.inc.php");
  error404($db);
}

In der functions.inc.php ist die error404 Funktion definiert.

Wisst ihr wieso preg_match nicht auf den Punkt achtet?

MfG xXxPeterPanxXx
 
Der Punkt gehört zur Regex-Syntax und steht für "beliebiges Zeichen". Wenn du wirklich das Punkt-Zeichen willst, musst du ihn escapen: "\."

PHP:
if(preg_match("/\.php/", $_SERVER['REQUEST_URI'])) {
 
Zurück
Oben