Mit dem Slash am Anfang wird vermutlich weitergeleitet, d.h. die URL ändert sich von der statischen auf die dynamische URL.
Das hat mich nun doch etwas überrascht, weil ich bisher nur alles mit / Slash am Anfang schrieb. Es wird nicht weitergeleitet wie bei einer richtigen Weiterleitung, es wird auch nur ausgelöst, doch mit / sucht der Apache dann wohl nach dem kompletten Pfad ab Root von der auszulösenden Datei.
Ein Testverzeichnis /test mit 3 Testdateien
angebote1.php
angebote2.php
angebote3.php
angelegt, nach dem Muster:
<!DOCTYPE html>
<html>
<head>
<title>Testangebote 1</title>
</head>
<body>
<div style="text-align:center">
<h1>Testangebote 1</h1>
<?php
echo $_GET["kat"]."<br>";
echo $_GET["page"]."<br>";
?>
</div>
</body>
</html>
Die htaccess mit im Verzeichnis /test abgelegt und durch Auskommentieren jeweils nur eine Regel aktiviert. Zwischen zwei Tests jeweils den Cache gelöscht.
RewriteEngine On
#RewriteRule ^angebote/(.+)/([0-9]+)$ angebote1.php?kat=$1&page=$2 [L] # funktioniert
#RewriteRule ^angebote/(.+)/([0-9]+)$ /angebote2.php?kat=$1&page=$2 [L] # Objekt nicht gefunden!
#RewriteRule ^angebote/(.+)/([0-9]+)$ /test/angebote3.php?kat=$1&page=$2 [L] # funktioniert
Dann probiert, welche der drei Regel funktioniert, wenn ich
http://localhost/test/angebote/informationen/139
aufrufe. Das Ergebnis entspricht den Kommentaren in der htaccess. Würde die htaccess und die Datei nun nicht in einem Verzeichnis liegen, sondern im Root, sollte es praktisch nicht einmal eine Rolle spielen, ob mit oder ohne Slash, was ich bisher aber noch nie ohne / getestet habe.
Nun zur Frage von christa.
Resultat: keine Umsetzung, keine Fehlermeldung, url bleibt als dynamische bestehen.
Du hast das /Verzeichnis/ und angebote/ im Pfad der Verweise zu stehen? Sonst findet der Apache das Verzeichnis mit den Dateien und der htaccess nicht. Irgendwie vermisse ich eine von beiden Angabe in Deinen Beispielen. Der aufzurufende Verweis
xyz.tdl/verzeichnis/immunitaet/139
müsste nach Deinen Beispielen
(zumindest das letzte mit der htaccess), eigentlich so aussehen
xyz.tdl/verzeichnis/angebote/immunitaet/139
oder ich habe schon wieder einen Denkfehler. Doch so wie ich das verstehe, so müsste der Apache eigentlich schon zuerst das /verzeichnis/ im aufgerufenen Verweis bzw. in der aufgerufenen URI finden und in diesem /verzeichnis/ die htaccess, bevor in der Regel dann ein Musterabgleich stattfinden kann, ob angebote/ in der aufgerufenen URI bzw. im Verweis enthalten ist.