Ich habe eine mehrsprachige Website mit dieser Struktur http://www.url.com/en/
, http://www.url.com/it/
, http://www.url.com/pt/
usw. jetzt Mein Problem ist, dass, wenn Sie auf den Link url.com zugreifen I 3 Umleitungen haben.Redirect Website innere Links
- Um
http://url.com
- Um
http://www.url.com
- Um
http://www.url.com/en/
Wie kann ich nur 2 Umleitungen haben? Wenn Sie auf http://url.com
zugreifen, um zu http://www.url.com/en/
umzuleiten, habe ich in dieser Zeile die Zeilen.
RewriteCond %{HTTP_HOST} ^url.com [NC]
RewriteRule ^(.*)$ http://www.url.com/$1 [L,R=301]
Dieser leitet von url.com zu http://www.url.com
um. Danach eine PHP-Datei Skript umgeleitet wird erkannt, die Domäne und leitet es automatisch wieder auf/en/
$url= strpos($_SERVER['REQUEST_URI'],"/".$lang."/");
if($url!==0){ Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.url.com/en/"); }
Danach habe ich einige Bedingungen zu überprüfen, ob Sie in einer anderen Sprache sind.
if($lang == "pt"){$langcheck = "pt"}
Meine Links werden wie folgt erstellt:
RewriteRule ^([_A-Za-z0-9-]+)\/$ index.php?page=index&lang=$1 [L]
Also, was soll ich in .htaccess schreibe dies für jede Sprache zu arbeiten. Wenn ich die RewriteRule zu url.com/en/
ändere, funktioniert die anderen Sprachen nicht mehr.
Es tut mir leid, ich kann es nicht bekommen, wie man Sprache tun bekommen und wie Umleiten Sie. –
Wenn du auf url.com eingibst, checke ich in functions.php ein, wenn die URL von url.com/en/ abweicht. Wenn das anders ist, leite ich auf die URL url.com/en/ um. Diese Bedingung gilt nur, wenn Sie den Link url.com aufrufen, aber wenn Sie url.com/it/ eingeben, sehe ich, dass es eine andere Sprache gibt. Mein Problem ist, wenn Sie auf url.com zugreifen (ich möchte zum ersten Mal zu url.com/en/ weitergeleitet werden, nicht zu www.url.com und danach zu www.url.com/en/. –