【问题标题】:Redirect old domain to new domain's homepage将旧域重定向到新域的主页
【发布时间】:2020-10-26 06:16:48
【问题描述】:

我想将旧域上的所有内容(但不是主页,因为仍有内容)重定向到新域的主页。

重要提示:但我不想重定向旧主页。只是其他子文件夹,例如 domain.com/*

如何做到这一点?我认为这段代码行不通。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond% {HTTP_HOST} ^ olddomain.com $ [ALEBO]
RewriteRule (. *) $ Http://www.newdomain.com/$1 [R = 301, L]
</ IfModule>

【问题讨论】:

  • 为什么要在^ olddomain.com $ 中添加空格?也可以尝试转义.

标签: regex apache .htaccess redirect seo


【解决方案1】:

您可以在站点根目录 .htaccess 中使用此规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?olddomain\.com$ [NC]
RewriteRule . http://www.newdomain.com%{REQUEST_URI} [R=301,L,NE]

您的规则或条件中的任何地方都没有空格。 RewriteRule 中的一个点也确保匹配除登录页面之外的任何内容。

【讨论】:

  • 谢谢,重定向工作正常。但是现在无法在主页上加载 CSS 和 JS,加载样式时出现 503 错误。应该是什么问题?
  • 当我删除重定向它工作正常。所以问题出在我认为的重定向正则表达式中:)
  • 此外,当 olddomain.com/test-site 等旧域上没有页面时,它会重定向到 newdomain.com/test-site 并出现 404g 错误。是否有可能如果 olddomain.com 上没有站点(在 olddomain 上获得 404)所以重定向到 newdomain.com 主页?与 olddomain 上的页面不同?
  • 抱歉不明白这里的redirection REGEX 是什么?您也可以添加RewriteCond %{REQUEST_FILENAME} -f 以确保仅将现有文件重定向到新域。
猜你喜欢
  • 1970-01-01
  • 2016-01-24
  • 2016-11-14
  • 1970-01-01
  • 2018-10-09
  • 1970-01-01
  • 1970-01-01
  • 2016-06-24
  • 1970-01-01
相关资源
最近更新 更多