有人可以幫忙嗎?
我正在嘗試使用 .htaccess 將所有流量從舊域(具有多個子域和 URL)重定向到新域。我只想將所有現有鏈接(舊域)的流量重定向到新域的英文子目錄。
我想知道這條線是否正確?
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule ^(.*)$ http://newdomain.com/en [R=301,L]
uj5u.com熱心網友回復:
您實施的規則是“正確的”,因為如果滿足某些先決條件,它應該可以作業......
不過,我會稍微簡化一下:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(\w \.)?olddomain\.com$
RewriteRule ^ https://newdomain.com/en [R=301,L]
如果舊域和新域是從不同的位置甚至是不同的系統提供服務的,您可以通過省略條件進一步簡化:
RewriteEngine On
RewriteRule ^ https://newdomain.com/en [R=301,L]
一般來說,此類規則最好在中央 http 服務器的主機配置中實作。如果您無權訪問它(閱讀:如果您使用廉價的托管服務提供商),您可以使用分布式組態檔(通常稱為“.htaccess”)。在這種情況下,您需要啟用該功能(請參閱AllowOverridehttp 服務器檔案中的指令),并且需要將該檔案放在 http hostsDOCUMENT_ROOT檔案夾中,并注意它可以被 http 服務器讀取。
附帶說明:在您的實作中,您重定向到未加密的 http 協議。這幾天真的已經過時了,你真的應該使用加密的 https 協議。當然,你需要一個有效的證書,但這些天是免費的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/503690.html
