在這里。
我有一個網站,其中有 2 個不同的域指向自己。
- 域名.com
- 域名.com.br
該網站加載了兩個域并創建了重復的內容,這給 SEO 帶來了一個巨大的問題(兩個域都加載了完全相同的內容。
我希望通過使用 [301] 重定向將一個域重定向到另一個域來解決此問題。
我想保留Domain.com.br并重定向Domain.com。是否可以在同一臺服務器上執行此操作?
到目前為止,我遇到了 2 段代碼。
- 第一個給我一個內部服務器錯誤(500)。
- 第二個重定向頂級域(.com >> .com.br)但沒有傳遞路徑,這意味著當你點擊domain.com/path時你仍然加載domain.com/path
你們有什么感想?我該如何解決?
<IfModule mod_rewrite.c>
// This have given me an internal server error 500
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC, OR]
RewriteCond %{HTTP_HOST} ^(www)?domain\.com.br$ [NC]
RewriteRule ^ https://omain.com.br%{REQUEST_URI} [R=301,L,NE]
// This one also isn't working. Only top domain is redirecting.
// Request URL does not pass.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain.com.br$
RewriteRule (.*)$ https://domain.com.br/$1 [R=301,L]
</IfModule>
以下示例將重定向 localhost >> localhost/test,但不會重定向 localhost/xyz >> localhost/xyz/test
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} ^(www\.)?localhost$ [NC]
RewriteRule ^ http://localhost:8888/test/%{REQUEST_URI} [R=301,L,NE]
任何幫助都會非常有幫助。謝謝??
問題解決了
正如@anubhava 提到的,代碼必須是 topmpost - htaccess 檔案中的第一個。
我一直收到的所有代碼都有效。問題是我將重寫規則放在了 wordpress 規則之后。這阻止了我的規則被寫入,因為永久鏈接之前被寫入。
uj5u.com熱心網友回復:
假設兩個域都指向相同DocumentRoot的,您可以在站點根目錄 .htaccess 中使用此規則:
RewriteEngine On
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
RewriteRule ^ https://domain.com.br%{REQUEST_URI} [R=301,L,NE]
如果不在或請求中的主機名之前是可選的,則此規則將重定向到.br域。HTTPSdomain.comwww.
確保這是您的最高規則,并且在測驗之前完全清除瀏覽器快取。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/411028.html
標籤:
