Leiten Sie Nicht-WWW nach WWW nur ​​für einen bestimmten Unterordner um

1

Ich versuche, einen Unterordner meiner Website auf www umzuleiten, wenn er kein www-Präfix hat. Zum Beispiel.

If user opens example.com/sites
it should redirect to
www.example.com/sites

Also, 

If user opens example.com/sites/whateverlink
it should redirect to  www.example.com/stores/whateverlink

Aus irgendeinem Grund möchte ich die Hauptdomäne und andere Unterordner für diese Umleitung nicht einschließen. Bitte helfen Sie mir, eine Regel dafür zu schreiben.

Unnikrishnan
quelle
Welche Serversoftware verwenden Sie? Jeder hat seine eigene Methode, um dies zu tun (dh RewriteRulein einem <Location>für Apache)
Nathan.Eilisha Shiraini
nur Apache. Ich kenne die Regel für alle Domains. aber nicht Unterordner
Unnikrishnan
Wenn Sie zu einer bestimmten lokalen Datei / Ordner beschränken möchten, setzen Sie die RewriteRulein einer <File /path/to/file>oder <Directory /path/to/directory>Richtlinie. Wenn Sie es auf eine bestimmte URL beschränken möchten, verwenden Sie eine <Location /url/path/>Direktive. httpd.apache.org/docs/2.4/fr/mod/core.html#directory
Nathan.Eilisha Shiraini
Aus bestimmten Gründen kann ich die Verzeichnis- oder Standort-Tags nicht verwenden. Können wir das nicht mit einer Rewrite-Regel schreiben?
Unnikrishnan
Ich denke, Sie könnten eine verwenden RewriteCond, die nur Ihren ausgewählten Verzeichnissen entspricht.
Nathan.Eilisha Shiraini

Antworten:

1

Diese Regel hat perfekt funktioniert. Hier posten, da es jemandem wie mir helfen könnte.

RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^/sites(.*)$ https://www.example.com/sites$1 [L,R=301]
Unnikrishnan
quelle
Sollte besser funktionieren, als ich vorgeschlagen habe ^^ Vergiss nicht, die Antwort als akzeptiert zu markieren.
Nathan.Eilisha Shiraini