Umleiten von nicht-www an www nur für einen bestimmten Unterordner

530
Unnikrishnan

Ich versuche, einen Unterordner meiner Website an www umzuleiten, wenn er nicht über das Präfix www verfügt. 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 nicht die Hauptdomäne und andere Unterordner für diese Umleitung einschließen. Bitte helfen Sie mir dabei, eine Regel zu schreiben.

1
Welche Serversoftware verwenden Sie? Jeder hat seine eigene Methode (dh `RewriteRule` in einem``für Apache) Nathan.Eilisha Shiraini vor 7 Jahren 0
nur apache. Ich kenne die Regel für alle Domänen. aber nicht unterordner Unnikrishnan vor 7 Jahren 0
Wenn Sie sich auf eine bestimmte lokale Datei / einen bestimmten Ordner beschränken möchten, setzen Sie die `RewriteRule` in ein``oder``Direktive. Wenn Sie es auf eine bestimmte URL einschränken möchten, tun Sie dies mit einem ``Direktive. https://httpd.apache.org/docs/2.4/fr/mod/core.html#directory Nathan.Eilisha Shiraini vor 7 Jahren 0
Aus bestimmten Gründen kann ich die Verzeichnis- oder Standort-Tags nicht verwenden. Können wir das nicht mit einer Umschreibungsregel schreiben? Unnikrishnan vor 7 Jahren 0
Ich denke, Sie könnten eine `RewriteCond` verwenden, die nur zu Ihren ausgewählten Verzeichnissen passt. Nathan.Eilisha Shiraini vor 7 Jahren 0
Kannst du mir bitte helfen? Unnikrishnan vor 7 Jahren 0
`RewriteCond"% /% "" ^ example.com / sites "` sollte die nächste `RewriteRule` auf` example.com / sites 'einschränken (stellen Sie sicher, dass Sie es testen). Beachten Sie die Einfügemarke in `^ example.com`. Weitere Informationen: https://httpd.apache.org/docs/current/fr/mod/mod_rewrite.html#rewritecond Nathan.Eilisha Shiraini vor 7 Jahren 0
danke für die einsichten. Ich habe es anders geschrieben. Als Antwort posten Unnikrishnan vor 7 Jahren 0

1 Antwort auf die Frage

1
Unnikrishnan

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

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