如何重定向WordPress站点上的域名,包括路径? [英] How to redirect domains on a wordpress site, including path?

查看:35
本文介绍了如何重定向WordPress站点上的域名,包括路径?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在那里。

我有一个网站,其中有2个不同的域指向自己。

  1. Domain.com
  2. 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆