
Ich habe die folgende Umschreibregel:
RewriteRule ^support/(.*)$ /blog/support/$1 [R=301,NC,L]
Es handelt sich jedoch lediglich um eine einfache Weiterleitung. Ich möchte /support
den Inhalt von anzeigen, /blog/support
ohne die URL von zu ändern /support
. Wie kann ich das tun?
Darüber hinaus funktioniert das Obige nur, wenn /support
ein abschließender Schrägstrich vorhanden ist.
Antwort1
Wenn /blog/support
dies beispielsweise einem Speicherort im Dateisystem entspricht /var/www/blog/support
, können Sie einfach verwenden
Alias /support /var/www/blog/support
DerDokumentationfür die Alias-Direktive besagt, dass das zweite Argument jedoch ein Datei- oder Verzeichnispfad sein muss, keine andere URL.
Wenn Sie nur eine interne Weiterleitung wünschen, sodass der Benutzer die URL-Änderung nicht sieht, müssen Sie wahrscheinlich nur R=301,
die Flags in Ihrem entfernen RewriteRule
.
Um das abschließende / nicht erforderlich zu machen, prüfen Sie, ob ein Schrägstrich oder ein Zeilenende vorhanden ist:
RewriteRule ^support(/.*|$) /blog/support$1 [NC,L]