Marc Reichelt: 404er mit RewriteRule - gelöst

Beitrag lesen

Hallo nochmals,

Allerdings brauche ich dazu einen Befehl, der in einem <Location>-Eintrag vorkommen darf, der an dieser Stelle einen 404 anzeigt. Ein "deny from all" tut es ja bereits mit einem 403. Allerdings hoffe ich immer noch auf Christoph, dass er mir den Befehl (den es anscheinend auch gibt) mitteilt. :-/

Ich habe jetzt eine gut funktionierende Lösung gefunden - ohne Christophs Hilfe.
Und zwar habe ich <Location>-Eintrag entfernt, dafür sehen die Rewrite-Regeln im <VirtualHost> nun wie folgt aus:

RewriteEngine On  
RewriteRule ^/chooselanguage(\?.*)?$ /chooselanguage.php$1 [L]  
RewriteRule ^/chooselanguage\.php(\?.*)?$ /404 [L]

Und zwar wird die URL /chooselanguage.php (mit variablen Parametern) auf eine nicht existierende Adresse /404 weitergeleitet. Wichtig ist nun noch das [L] am Ende der zweiten Zeile, was dafür sorgt ("L" steht für "last"), dass keine erneute Umleitung von /chooselanguage.php nach /chooselanguage erfolgt.
Das [L] in der dritten Zeile hat derzeit bei mir keine sonderliche Funktion - ist aber eine zusätzliche Absicherung gegen weitere RewriteRules.

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
Linux is like a wigwam - no windows, no gates and an Apache inside!
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)