Lieber Mitdenker Mattes,
liebe Wissende,
liebe Neugierige,
ja!
Ist das [L] der Hinweis darauf, dass keine weitere Regel mehr ausgwertet wird?
Grundsätzlich ja. In der Praxis kann es vorkommen, dass der ganze Regelsatz nochmals durchlaufen wird, weil das, was mod_rewrite am Ende ausspuckt, vom Server möglicherweise noch weiterverarbeitet wird.
Was bedeutet das [QSA]?
QSA steht für query string append. Gibst du als RewriteRule-Ziel eine URL mit Parametern an, werden die ursprünglichen Parameter normalerweise entsorgt. Mit QSA werden sie weitergegeben.
Das arbeitet aber nicht mit dem [L] zusammen, oder? Jedenfalls bekomme ich dann immer einen Serverfehler. Der Name des Skriptes muss nach außen nicht bekannt sein, finde ich auch gut so. Kann man da nun noch den Direktaufruf unterbinden?
Im Skript habe ich jetzt testhalber
<?php /* authcheck.php */
header('Content-Type: text/plain; CharSet=utf-8;');
echo "Ich habs bekommen\r\n";
if (isset($_SERVER['PATH_INFO']))
{
echo $_SERVER['PATH_INFO'] . "\r\n";
}
echo $_SERVER['REQUEST_URI']."\r\n";
if (isset($_SERVER['REDIRECT_QUERY_STRING'])) { echo $_SERVER['REDIRECT_QUERY_STRING']."\r\n"; }
else { echo "Keine Anfrage vorhanden\r\n"; }
print_r($_GET);
?>
stehen. Daraus müsste ich eigentlich alle benötigten Daten ermitteln können, wenn es denn stabil ist. Wie der geschützte Pfadteil lautet, weiß das Skript. Der nächste Part /.../ ist der Schlüssel. Dann hat man immer noch die Chance, per weiteren Path-Parts und weiteren Parametern weitere Infos durchzuleiten, wenn das mal notwendig ist.
Da sollte ich eigentlich genügend Entwicklungsspielraum haben.
Spirituelle Grüße
Euer Robert
Möge der Forumsgeist wiederbelebt werden!