Hallo,
folgende Struktur benutze ich:
index.php?inhalt=datei
index.php =>
<?
// ...
include($inhalt . '.php');
// ...
?>
datei.php befinden sich im gleichen Verzeichnis wie die index.php
Per Rewrite schreib ich die URLs um:
RewriteEngine On
RewriteRule ^([^/]+)\.html$ /index.php?inhalt=$1 [NS,QSA,L]
Was auch alles funktioniert.
Ich möchte nun folgendes einfügen. Und zwar wenn jemand im Browser domain.de/datei.php eingibt, möchte ich das es einen 404 oder dergleichen gibt.
Hatte deswegen als letztes in der der htaccess das eingegeben:
RewriteRule ^(.+\.php)$ $1 [NS,G,L]
Leider ist es nun so das ich immer einen "Gone" als Resultat bekomme. Ich hatte bei den zuvor definierten Rules die Flag L angegeben um die nachstehenden Rules abzubrechen. Leider wird die Flag scheinbar übergangen.
Das Problem ist das die RewriteEngine nach:
RewriteRule ^([^/]+)\.html$ /index.php?inhalt=$1 [NS,QSA,L]
noch einmal die Rules durchgeht und schaut ob es etwas mit der index.php machen soll. Deswegen wird: RewriteRule ^(.+\.php)$ $1 [NS,G,L] ausgeführt und ich erhalte die Gone Seite. Ich versteh nur leider nicht warum. Dachte das ich per Flag NS genau das vermeiden könnte. Leider ist dem nicht so.
Weis jemand wie ich das Problem umgehen kann?
folgende Struktur benutze ich:
index.php?inhalt=datei
index.php =>
<?
// ...
include($inhalt . '.php');
// ...
?>
datei.php befinden sich im gleichen Verzeichnis wie die index.php
Per Rewrite schreib ich die URLs um:
RewriteEngine On
RewriteRule ^([^/]+)\.html$ /index.php?inhalt=$1 [NS,QSA,L]
Was auch alles funktioniert.
Ich möchte nun folgendes einfügen. Und zwar wenn jemand im Browser domain.de/datei.php eingibt, möchte ich das es einen 404 oder dergleichen gibt.
Hatte deswegen als letztes in der der htaccess das eingegeben:
RewriteRule ^(.+\.php)$ $1 [NS,G,L]
Leider ist es nun so das ich immer einen "Gone" als Resultat bekomme. Ich hatte bei den zuvor definierten Rules die Flag L angegeben um die nachstehenden Rules abzubrechen. Leider wird die Flag scheinbar übergangen.
Das Problem ist das die RewriteEngine nach:
RewriteRule ^([^/]+)\.html$ /index.php?inhalt=$1 [NS,QSA,L]
noch einmal die Rules durchgeht und schaut ob es etwas mit der index.php machen soll. Deswegen wird: RewriteRule ^(.+\.php)$ $1 [NS,G,L] ausgeführt und ich erhalte die Gone Seite. Ich versteh nur leider nicht warum. Dachte das ich per Flag NS genau das vermeiden könnte. Leider ist dem nicht so.
Weis jemand wie ich das Problem umgehen kann?
Kommentar