2016-06-27 29 views
1

Ich muss eine versteckte Umleitung von sitename.dom zu sitename.dom2 machen, den Rest der Saite unberührt zu lassen.Wie überschreibe ich nur für die genaue URL

Vorerst ich benutze:

RewriteCond %{HTTP_HOST} ^sitename.dom 
RewriteRule ^(.*) http://sitename.dom2/$1 [P] 

und es funktioniert perfekt. Aber. Durch auf meiner Website mehrsprachig hat die Titelseite den folgenden Pfad:

sitename.dom2/lang 

das ist, warum, wenn der Benutzer sitename.dom ruft er (verdeckt) zu sitename.dom2/ umgeleitet wird, und er wird immer 404-Seite.

Also, bitte beraten, wie mache ich eine strenge Umleitung für genaue Anfrage nur sitename.dom ohne weitere?

hatte ich

RewriteCond %{HTTP_HOST} ^sitename\.dom$ 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^(.*) http://sitename.dom2\/lang [P] 

ohne Glück versucht.

BTW, innerhalb der Website Sprache Unterpfad hat keinen Einfluss auf alle. sitename.dom/lang/page Arbeiten so gut wie sitename.dom/page

Antwort

0

Ich hatte die einzige Umleitung vor allen anderen hinzuzufügen. Und benutze dom2 anstelle von dom1 in dieser Regel. Hier

ist die Lösung:

RewriteEngine On 

#redirect front page only: 
RewriteCond %{HTTP_HOST} ^sitename\.dom2$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.sitename\.dom2$ 
RewriteRule ^/?$ "http\:\/\/sitename\.dom2/\lang" [L] 

#redirect all other pages: 
RewriteCond %{HTTP_HOST} ^sitename\.dom2 
RewriteRule ^(.*) http://sitename\.dom1\/$1 [P] 
0

einfach /lang in Ihrem ersten RewriteRule Direktive hinzufügen:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^sitename.dom$ 
RewriteRule^http://sitename.dom2/lang%{REQUEST_URI} [P] 
+0

Danke, aber es hat nicht funktioniert. Ich glaube, ich habe vorher schon so etwas probiert. Jetzt bekomme ich 404 auf citename.dom und citename.dom/lang. Kann nicht zur ersten Seite gelangen – Andriy