2017-09-01 4 views
0

Ich betreibe einen Lighttpd Webserver, der Wordpress hostet. Aus Gründen der Benutzerfreundlichkeit und des Marketings habe ich eine neue Domain registriert, die die alte One - Site - Struktur ersetzen soll. Wordpress Setup ist soweit in Ordnung und funktioniert mit der neuen Domain.
Jetzt möchte ich alle Ergebnisse Suchmaschine auf die alte URL, die auf haben umgeleitet werden (301) von meinem Lighttpd-Server auf die neue URL:
www.olddomain.xy/path/somepage.html auf www landen sollte .newdomain.xy/path/somepage.html
Hier und anderswo habe ich Lösungen gefunden, die http durch https ersetzen, domain.xy durch www.domain.xy ersetzen oder Lösungen, die jede Seite von der alten auf die root-Seite umleiten Verzeichnis der neuen Domain vergisst den Pfad. Aber das ist nicht was ich will.
Lighttpd: Domain auf neue Domain einschließlich Pfad umleiten

Ich kann nicht scheinen, meinen Kopf um die (Regex-) Syntax zu wickeln. Irgendwelche Ideen?

+0

Lesen Sie die feine Anleitung und schauen Sie sich die Beispiele an? https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModRedirect https://redmine.lighttpd.net/projects/lighttpd/wiki/HowToRedirectHttpToHttps – gstrauss

+0

Hallo, vielen Dank für Ihre Hilfe. Ja, ich habe das gelesen, bevor ich meine Frage gepostet habe, aber imho deckt es nicht ab, was ich brauche. Es geht darum, von http: //xyz.tld zu http: //www.xyz.tld zu gelangen. Ich habe versucht: $ HTTP ["Host"] = ~ "^ some.old.domain" $ 1 " ) } aber das funktioniert nicht –

Antwort

0

Das hat irgendwie den Trick und auch auf https umgeleitet werden sichergestellt:

$SERVER["socket"] == ":80" { 
    $HTTP["host"] =~ "^www\.olddomain\.xyz" { 
     url.redirect = ("^/(.*)" => "https://www.newdomain.eu/$1/") 
    } 
} 
$SERVER["socket"] == ":443" { 
    $HTTP["host"] =~ "^www\.olddomain\.xyz" { 
     url.redirect = ("^/(.*)" => "https://www.nwedomain.eu/$1/") 
    } 
} 

rgds Chris

+0

FYI: Gegeben, dass Ihr Beispiel scheint nach einer genauen Übereinstimmung suchen (vorausgesetzt, .xyz ist die TLD), könnten Sie eine genaue Übereinstimmung in der Config statt eine Regex: $ HTTP ["Host"] == "www.olddomain.xyz" – gstrauss

0

Mit der obigen Lösung habe ich versucht, meine alte Domain über Google Search Console zu verlegen. Sie konnten jedoch mein 301 Setup nicht erkennen. Also ging ich einen völlig diifferent Weg, indem Sie die 301 und https Umleitung in Wordpress index.php:

<?php 
 
//check called domain - subdomain never varies 
 
$domnam = $_SERVER['SERVER_NAME']; 
 
if ($domnam == "chriskrz.selfhost.bz") { 
 
     // permanent PHP-Redirect (Statuscode 301) 
 
     header("HTTP/1.1 301 Moved Permanently"); 
 
     // Redirection target 
 
     header("Location: HTTP://www.rustimation.eu"); 
 
     // to go sure an exit statement in case of errors 
 
     exit; 
 
    } 
 
//force redirect to secure page 
 
if($_SERVER['SERVER_PORT'] == '80') 
 
     { header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); 
 
     exit(); 
 
     }

Die von Google akzeptiert wird und funktioniert wie vorgesehen.

Verwandte Themen