【问题标题】:Redirect from one website to another and keep directory从一个网站重定向到另一个网站并保留目录
【发布时间】:2022-01-01 20:52:49
【问题描述】:

网站的博客部分从子域移动到主域的目录。我需要将所有访问blog.site.com的用户重定向到site.com/blog/,并且在转发时应该保留某人输入的目录,例如blog.site.com/post/welcome 应该指向 site.com/blog/post/welcome

我想把它添加到我的.htaccess 文件中,我通过 FTP 将它放在子域的目录中:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog.herderzeitung.de$ [OR]
RewriteCond %{HTTP_HOST} ^www.blog.herderzeitung.de$
RewriteRule (.*)$ https://herderzeitung.de/blog/$1 [R=301,L]

但是,这似乎不起作用。我还想知道,实现这一目标的最 SEO 友好的方式是什么(该网站永久移动到另一个域)。

提前致谢!

【问题讨论】:

  • “这似乎不起作用” - 你到底是什么意思?您是否收到了不受欢迎的重定向?一个错误?根本没有重定向?子域相对于主域指向哪里?

标签: html .htaccess server hosting


【解决方案1】:

试试

RewriteEngine On
RewriteCond %{HTTP_HOST}       ^blog\.herderzeitung\.de$ [OR]
RewriteCond %{HTTP_HOST}  ^www\.blog\.herderzeitung\.de$
RewriteRule  ^/?(.*)$ https://herderzeitung.de/blog/$1 [R=302,L]

我已经避开了这些点,并锚定并规范了模式。还将其切换为临时重定向(302);一旦你知道它有效,然后出于 SEO 原因再次将其更改为 301。

是的,据我所知301s 是保持搜索排名等的最佳方法。

【讨论】:

  • “我已经摆脱了这些点,并锚定并规范了模式。” - 尽管这些微小的变化不会对指令的实际工作方式产生任何真正的影响。如果问题中的指令“不起作用”,那么这些指令也不会。 (?)
【解决方案2】:

这似乎有效:

RewriteEngine On
RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ https://herderzeitung.de/blog/$1 [L,R=301]

谢谢大家!

【讨论】:

  • 这实际上与您在问题中发布的规则没有什么不同(假设您按照所述请求子域,前面的 条件 将是多余的)。更有可能是您遇到了 缓存 问题。 (您在上面发布的RewriteCond 指令也完全是多余的,应该删除。)
  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2015-08-27
  • 1970-01-01
  • 2016-09-12
  • 1970-01-01
  • 1970-01-01
  • 2016-06-18
  • 2014-08-25
  • 2016-07-16
相关资源
最近更新 更多