如何重定向WordPress站点上的域名,包括路径? [英] How to redirect domains on a wordpress site, including path?
本文介绍了如何重定向WordPress站点上的域名,包括路径?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在那里。
我有一个网站,其中有2个不同的域指向自己。
- Domain.com
- Domain.com.br
该网站加载了两个域并创建了重复的内容,这给SEO带来了巨大的问题(两个域加载的内容完全相同。
我希望通过使用[301]重定向将一个域重定向到另一个域来解决此问题。
我要保留Domain.com.br&;重定向Domain.com。是否可以在同一台服务器上执行此操作?
到目前为止,我发现了两段代码。
- 第一个出现内部服务器错误(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://%1domain.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提到的,代码需要是htaccess文件中的topmpost-first代码。
我总是收到的所有代码都有效。问题是我把重写规则放在WordPress规则之后。这阻止写入我的规则,因为固定链接以前写入过。
推荐答案
假设两个域指向相同的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]
如果HTTPS
不在或请求中的主机名为domain.com
,且可选www.
之前,则此规则将重定向到.br
域。
确保这是您的最高规则,并且在测试之前完全清除浏览器缓存。
这篇关于如何重定向WordPress站点上的域名,包括路径?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文