2017-09-01 192 views
0

我使用託管Wordpress的lighttpd網絡服務器。出於可用性和市場營銷的原因,我已經註冊了一個新的域名,以取代舊域名 - 網站結構不變。到目前爲止,Wordpress設置還可以,並且可以與新域名一起使用。
現在我想將所有搜索引擎結果指向舊的URL重定向(301)經我Lighttpd的服務器到新網址:
www.olddomain.xy /路/ somepage.html應該降落在WWW .newdomain.xy/path/somepage.html
在這裏和其他地方,我找到了用https替換http的解決方案,用www.domain.xy替換domain.xy,或者將任何頁面從舊域重定向到根的解決方案新域的目錄忘記路徑。但這不是我想要的。
Lighttpd:將域名重定向到新域名,包括路徑

我似乎無法繞過(正則表達式)語法。 任何想法?

+0

閱讀精美的手冊,看看例子? https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModRedirect https://redmine.lighttpd.net/projects/lighttpd/wiki/HowToRedirectHttpToHttps – gstrauss

+0

嗨,感謝您的幫助。是的,我在發佈我的問題之前閱讀了這篇文章,但是它不包含我需要的內容。這完全取決於從http://xyz.tld到http://www.xyz.tld。 我試過了: $ HTTP [「host」] =〜「^ some.old.domain」url.redirect =(「^ /(。*)」=>「https://my.new.domain/ $ 1「 ) } 但是,這不起作用 –

回答

0

這莫名其妙的伎倆,也確保重定向到https:

$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 克里斯

+0

供參考:鑑於您的示例似乎在尋找完全匹配(假設.xyz是TLD),您可以在配置中使用完全匹配,而不是正則表達式:$ HTTP [「host」] ==「www.olddomain.xyz」 – gstrauss

0

與上述解決方案,我想我的重新定位通過谷歌的搜索控制檯舊域。但是,他們無法識別我的301設置。所以我去了一個完全diifferent路線通過添加301和https重定向到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(); 
 
     }

這是由谷歌接受,就像意。