首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用.htaccess将自定义url旧域替换为新域

如何用.htaccess将自定义url旧域替换为新域
EN

Server Fault用户
提问于 2023-03-28 19:24:59
回答 1查看 72关注 0票数 1

如何用新的域名和新的链接替换所有的url整个网站?我有5k url在我的网站上要更换。

例子:

  • Current网址: oldomain.com/2020/12/data-raid-4963.html Replace Tosub.newdomain.com/4963-2/
  • Current网址: olddomain.com/2019/09/data-raid-2125.html Replace To: sub.newdomain.com/2125-2/
EN

回答 1

Server Fault用户

回答已采纳

发布于 2023-03-29 22:03:48

由于域指向同一服务器,因此需要使用根mod_rewrite文件顶部的.htaccess执行如下操作:

代码语言:javascript
复制
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com [NC]
RewriteRule ^20\d\d/\d\d/[a-z-]+-(\d+)\.html$ https://sub.newdomain.com/$1-2/ [R=301,L]

我假设URL-path的data-raid部分可以由任意一个或多个a-z (小写)或- (连字符)字符组成。如果这始终是字面上的data-raid (如您的示例所示),那么在regex中相应地替换[a-z-]+

$1反向引用包含位于.html路径末尾的D8之前的数字序列。换句话说,捕获的子模式(\d+)的内容。

您应该首先使用302 (临时)重定向进行测试,以避免潜在的缓存问题。

参考资料:

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1127354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档