2016-09-06 4 views
0

umleiten Ich habe die folgende URL:.htaccess für bestimmte URL-Strukturen

https://www.site-a.xyz/tutorials/post-name/2 

Ich brauche es auf die folgende URL

https://www.site-b.xyz/post-name/2 

Im Wesentlichen zu umleiten Wenn es eine hintere Nummer Element an die URL ist (in diesem Fall /2) Ich brauche den /tutorials/ Teil der URL entfernt werden.

Hinweis: Nur wenn es eine hintere Reihe ist

+0

Sind 'site-a' und' site-b' auf demselben Dateisystem gehostet? Oder komplett getrennt? – MrWhite

+1

Völlig getrennt – richelliot

Antwort

1

Versuchen Sie, die folgenden (mit mod_rewrite) in der Nähe der Spitze Ihrer .htaccess-Datei auf www.site-a.xyz:

RewriteEngine On 
RewriteRule ^tutorials/([^/]+/\d+)$ https://www.site-b.xyz/$1 [R=302,L] 

In diesem Fall Die nachgestellte "Nummer" kann 1 oder mehr Ziffern umfassen. Wenn es sich nur um eine einzelne Ziffer handelt (wie in Ihrem Beispiel), sollte dies vereinfacht werden (ändern Sie \d+ in \d). Die $1 ist eine Rückreferenz zu der erfassten Gruppe in dem Muster.

Beachten Sie, dass dies eine 302 (vorübergehende) Umleitung ist, wenn dies dauerhaft sein soll, wechseln Sie zu 301, wenn Sie sicher sind, dass es OK funktioniert. 301s werden vom Browser zwischengespeichert, wodurch das Testen problematisch wird.

UPDATE: für einen optional Schrägstrich auf der Quell-URL zu ermöglichen, dann /? nahe dem Ende des RewriteRule Musters hinzufügen, etwa so:

RewriteRule ^tutorials/([^/]+/\d+)/?$ https://www.site-b.xyz/$1 [R=302,L] 

Dieser notatably Streifen, die optional Schrägstrich aus das Umleitungsziel (So ​​vermeiden Sie Probleme mit doppelten Inhalten.)

+0

Antwort funktioniert gut - aber was ist, wenn ich eine URL mit einem Schrägstrich habe? - https://www.site-a.xyz/tutorials/post-name/2/ – richelliot

+0

Aus irgendeinem Grund kann ich der obigen URL keinen Schrägstrich hinzufügen - aber ich hoffe, du verstehst, was ich meine! – richelliot

+0

Die obige Anweisung erlaubte keinen Schrägstrich (nur eine "nachgestellte Zahl", wie in Ihrer Frage angegeben). Ich habe meine Antwort aktualisiert, um einen _optionalen Schrägstrich zuzulassen. – MrWhite

Verwandte Themen