旧站技术归档:本文由本地静态备份恢复,原作者为绫川星凛,最初发布于皮皮凛の小窝。保留原发表时间、技术内容与许可;命令和界面对应原文年代,未据此声称适用于当前版本。
域名更换后,站长们有两个选择。
域名跳转方案,便是站长最头疼的问题。
全站301重定向,直接重定向跳转到新域名。这是比较好的解决方案,也对SEO友好。但对于访客而言很难观察到域名的变化,仍然记得是旧域名。
提示页面跳转,也就是出现一个提示页面域名已更改,再配上跳转。这样对访客很友好,但对于SEO而言以前的收录链接相当于全部作废了。
而咱的这个跳转页面则是整合了这两种的优点,即有跳转提示页面,又照顾到了SEO问题。

版本记录
项目地址:https://github.com/AyagawaSeirin/RenewDomainPage
master分支为最新稳定版本,dev分支为开发进度,其他分支为各个版本。
本文介绍最新版本使用方法,旧版本请查看下方分支链接。
V2.1.0 - 2019.8.30
V2.0.0 - 2019.8.11
V1.0.0 - 2019.7.19
V2.1.0更新特性:
1.配置项支持自定义蜘蛛标识
2.增加默认蜘蛛标识,更完善的应对爬虫
介绍
为了兼顾访客体验和SEO问题,我做了这个东西。
效果预览:rmb.moe
(由于开启了站内链接直接跳转配置,请打开新的网页手动访问才能看到提示页面效果)
检测UA是否为搜索引擎蜘蛛爬虫,若是则直接301重定向,达到优化SEO的目的。
其他则为普通访客,显示倒计时跳转提示页面。
这便是核心功能,再搭配上伪静态处理,网站下所有链接都能跳转到新域名的对应链接。
使用
安装
项目地址:https://github.com/AyagawaSeirin/RenewDomainPage
将所有文件下载放入到网站根目录即可。
伪静态配置
具体如何设置伪静态不再赘述,这里仅贴出伪静态规则。
Apache:
<IfModule mod_rewrite.c>RewriteEngine OnRewriteRule ^(.*?)$ /index.php?url=$1</IfModule>Nginx:
rewrite ^(.*?)$ /index.php?url=$1;项目已经配置好了Apache伪静态规则在.htaccess文件内,如果您的Apache支持使用.htaccess文件配置伪静态,则不需要再手动配置了。
域名设置
编辑config.php文件,即可快捷配置项目。
只有domain和scheme参数需要您自己配置,其他参数保持默认即可,若您需要深度自定义可配置其他参数。
domain:跳转目标域名。scheme:跳转目标的协议头,https://或http://ILJ:站内链接是否直接跳转,假如访问来源是站内(目标域名),则直接跳转不显示倒计时页面。因为更换域名后网站可能有些链接没来得及更改域名,每次访问都提示会影响访客体验。title:网站标题。content:网站内容文本。img_from:图片来源,true为图片在该网站(跳转提示站)内,false为图片为网站外的链接。img:图片路径,若参数img_from为true则输入相对于网站根目录路径,第一个斜杠不需要输入。若参数img_from为false则输入图片绝对路径,不能为本跳转站图片。spider:蜘蛛标识,为数组,将会在UA里寻找蜘蛛标识来判断。到此为止就配置完毕了
技术问题
前端设计
由于咱的前端水平较低,这个跳转页面的设计是模仿的另一个跳转页面:点击这里
另外,图片的P站ID:65309723
同时还使用了MDUI作为前端框架
伪静态规则缺陷
这个伪静态规则十分直接,把所有目录或文件都直接伪静态到了index.php。
这也导致了有个问题,访问其他资源比如根目录的img.png,也会被伪静态到index.php造成图片资源无法正常读取。
所以为了解决这个问题,在index.php的开头检测文件名是否为img.png,若是则读取图片资源并返回。虽然到底是解决了问题,但仍是美中不足的地方。
另外由于各种原因,URL的锚链接和URL参数会丢失,这也是需要解决的问题。
以上便是目前存在的问题,欢迎各位大佬提供解决方案~
其实无伤大雅啦这些小问题。
部分信息可能已经过时