PHP使用Apache的伪静态功能实现“网页404时跳转指定页面

需求:

1、例如我之前的网站域名是“www.jb51.net”,有一个文章的链接是"www.jb51.net/article-5-1.html"

2、因为业务调整或其他原因,更改了域名和网站结构,域名变更为“www.jb51xxxx.net”,那么别人访问"www.jb51.net/article-5-1.html"这个文章链接时就访问不到了。出现如下404情况:

解决方案: 

1、在网站根目录下新建一个.htaccess伪静态配置文件(也可以在宝塔的伪静态设置里添加),添加如下代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)?zy13.net$ //如果域名是zy13.net
RewriteCond %{REQUEST_FILENAME} !-f //访问的页面(或文件)找不到
RewriteRule ^(.*)$ http://www.18pay.net/$1 [R=302,L] //携带原来的URL参数进行重定向到新的网址

补充:验证来源网址的伪静态规则

RewriteCond %{HTTP_REFERER} !^http://(.+.)?18pay.net/ [NC] //如果来源网址不是*.18pay.net

到此这篇关于PHP使用Apache的伪静态功能实现“网页404时跳转指定页面的文章就介绍到这了,更多相关PHP实现网页404时跳转指定页面内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 用php来改写404错误页让你的页面更友好

    404错误,很多人都知道,如果要访问的url不存在的时候就读取显示这个页面.以往在处理404方面我们通常的做法是要麽简单写几行字,而有心人士或许还会对其稍加美化,另外一少部份想投机取巧的傢伙甚至用meta标籤做延时转向,仅此而已,其实404还可以帮我们做很多事,这就是今天我们要讨论的重点了. 首先我来说明一下我的404究竟都能帮我做哪些事情: 1.他可以告诉我何时来自哪裡的用户要访问我哪个URL结果失败了. 2.他能告诉我对方为何要访问这个URL,并帮助我优化网站 3.他能告诉我对方的IP地址

  • thinkphp框架下404页面设置 仅三步

    404页面即系统在找不到请求的操作方法和找不到请求的控制器名称时的一种报错行为的优化. 在很多网站中都会有使用404页面的时候,在ThinkPHP框架中该如何设置呢,接下来我介绍其中一种方法,具体内容如下 第一步:在thinkphp框架中的Home/Comtroller中建一个EmptyController.class.php,其代码如下: <?php namespace HomeController; use ThinkController; class EmptyController ext

  • php 404错误页面实现代码

    复制代码 代码如下: <?php # 设置 $domain 为你的域名 (注意没有www) $domain = "jb51.net"; # 设置URL,注意没有后划线 / $docroot = "http://jb51.net"; # 设置错误信息的字体 $fontface = "Verdana"; # 设置404页面的字体大小 $fontsize = "2"; # 设置404页面的背景颜色,缺省是白色 $bgcolor

  • php 定义404页面的实现代码

    核心代码: 复制代码 代码如下: @header("http/1.1 404 not found"); @header("status: 404 not found"); echo 'echo 404'; exit(); 如果需要加载404页面可以如下代码,主要是注意文件路径 复制代码 代码如下: @header("http/1.1 404 not found"); @header("status: 404 not found"

  • thinkPHP5框架设置404、403等http状态页面的方法

    本文实例讲述了thinkPHP5框架设置404.403等http状态页面的方法.分享给大家供大家参考,具体如下: 要做到这一点,首先要在你的配置文件将调试模式关闭(在开发阶段要打开): 'app_debug' => false, 然后在配置文件 config.php 中配置404等页面的模板路径(APP_PATH指的是application路径): 'http_exception_template' => [ // 定义404错误的重定向页面地址 404 => APP_PATH.'404

  • php使用curl判断网页404(不存在)的方法 原创

    本文实例讲述了php使用curl判断网页404(不存在)的方法.分享给大家供大家参考,具体如下: <?php /* php使用curl判断404 * Created on 2016-6-22 * Writer www.jb51.net */ function chkurl($url){ $handle = curl_init($url); curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($handle, CURLOP

  • ThinkPHP访问不存在的模块跳转到404页面的方法

    首先在ACTION中新建一个文件EmptyAction.class.php,其代码如下: <?php class EmptyAction extends Action{ function _empty(){ header("HTTP/1.0 404 Not Found");//使HTTP返回404状态码 $this->display("Public:404"); } } ?> 使用apache服务器的情况下需在apache中的网站配置中加入 Err

  • php简单检测404页面的方法示例

    本文实例讲述了php简单检测404页面的方法.分享给大家供大家参考,具体如下: 需求描述: 检测给定的url是否是404页面. 方式一: 使用file_get_contents函数,可以读取web中的网页或者文件. 如果遇到404页面,则会返回false,否则返回相应的网页内容. 使用该函数有两点需要注意: 1.file_get_contents在读取不存在的页面时,会报一个warning,所以最好对这里的警告进行屏蔽操作. 2.file_get_contents默认会读取页面的所有内容,然后再

  • ThinkPHP 404页面的设置方法

    在很多网站中都会有使用404页面的时候,在ThinkPHP框架中该如何设置呢,接下来我介绍其中一种方法 1.首先要在Lib/Action 下建立EmptyAction.class.php模块 内容如下: 复制代码 代码如下: <?php /*  * @author rocky  * @date 20141021  * @desc 空模块404等错误  * */ class EmptyAction extends CommonAction {     function _empty(){     

  • PHP使用Apache的伪静态功能实现“网页404时跳转指定页面

    需求: 1.例如我之前的网站域名是"www.jb51.net",有一个文章的链接是"www.jb51.net/article-5-1.html" 2.因为业务调整或其他原因,更改了域名和网站结构,域名变更为"www.jb51xxxx.net",那么别人访问"www.jb51.net/article-5-1.html"这个文章链接时就访问不到了.出现如下404情况: 解决方案:  1.在网站根目录下新建一个.htaccess伪静

  • Linux XAMPP下启用WordPress的自定义文件名(伪静态)功能

    Linux XAMPP下启用WordPress的自定义文件名(伪静态)功能 在安装好WORDPRESS后,想启用伪静态的功能,一个是为了好看,另外也是为了更好的SEO,按照大家的配置方式,只需要将如下内容放到根目录的.htaccess文件中就可以实现伪静态的功能了: RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQU

  • apache中伪静态配置和使用(Apache虚拟主机下Discuz伪静态)

    一 打开 Apache 的配置文件 httpd.conf . 二 将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉 三 在 httpd.conf中添加: <IfModule mod_rewrite.c> RewriteEngine On #RewriteCond %{ENV:SCRIPT_URL} (?:index|dispbbs)[-0-9]+\.html RewriteRule ^(.*?(?:index|dispbbs))-([-

  • 使用 node.js 模仿 Apache 小部分功能

    首先,这个例子用到了服务端渲染的技术.服务端渲染,说白了就是在服务端使用模板引擎,这里我先简单的介绍一下服务端渲染与客户端渲染之间的区别. 服务端渲染与客户端渲染之间的区别: 客户端渲染不利于搜索引擎优化 服务端渲染可以被爬虫抓取到,而客户端异步渲染很难被爬虫抓取到(例如:AJAX) 大部分的网站既不是纯异步(客户端),也不是纯服务端渲染出来的,而是两者结合的 例如:京东的商品列表采用的就是服务端渲染,目的是为了SEO搜索引擎优化,说白了就是为了能够被搜索到,且能被爬虫抓取(搜索引擎本身也是一种

  • Apache中伪静态Rewrite的使用方法和URL重写规则表达式讲解

    目录 一.安装rewrite模块 二.配置文件httpd.conf中启用Rewrite 三.在服务器中找到配置文件vhosts.conf,启用.htaccess 四.在要启用伪静态的项目根目录下建立 .htaccess 文件 五.重启Apache服务器,就OK了 六.参数补充说明 apache中的mod_rewrite模块提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求,主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基于服务器级的(httpd.conf)和目录级

  • JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)

    新学习JavaScript,就碰到这么一个需求,几乎网上的方法都试过了.写出了总结下 使用的方法:clipboard 插件下载地址:https://github.com/zenorocha/clipboard.js/tree/master 引入插件:目录\clipboard.js-master\dist\clipboard.min.js 目录中有各种demo,分别实现了固定的文字复制,input的复制等等,可以看下找找思路: 下边来记录下使用的方式: 一:引入插件: <script src=&quo

  • Android中替换WebView加载网页失败时的页面

    我们用webView去请求一个网页链接的时候,如果请求网页失败或无网络的情况下,它会返回给我们这样一个页面,如下图所示: 上面这个页面就是系统自带的页面,你觉得是不是很丑?反正小编本人觉得非常丑,很难看,于是乎小编就在想能不能自定义一个页面,当数据请求失败时让系统来加载我们自定义好的页面?上网查了很多资料,都没有关于这个问题的解决方法(反正我是没有找到),经过小编的不断琢磨,今天终于实现了这个功能.以下就是本人自定义实现的数据加载失败时的页面: 这样看起来是不是觉得很高大尚.这和我们真正拿到数据

  • 基于JavaScript实现网页倒计时自动跳转代码

    用JS实现网页上的自动跳转功能,倒计时跳转至指定网页,倒计时间可自设,时间到则自动跳转到指定的网址,对于JS来说,实现该似乎挺简单哦,用IIS上的301也可实现跳转,以及mete标签也可以实现自动跳转,根据你自己的需要了. <title>JS倒计时网页自动跳转代码</title> <script language="JavaScript" type="text/javascript"> function delayURL(url)

  • 基于JS实现移动端访问PC端页面时跳转到对应的移动端网页

    不想通过CSS自适应在PC端和移动端分别显示不同的样式,那么只能通过在移动端访问PC端网页时跳转到对应的移动端网页了,那么怎么跳转呢,网上也有很多文章说明,以下实现思路经过小编测试过,放心使用. 1.效果图 PC端访问显示: 移动端访问显示: 2.实现: 不考虑移动端搜索引擎优化的话,只需要通过JS判断是否移动端,然后确定是否跳转到指定页面就行了,主要JS如下: //判断是否移动端,如果是则跳转到指定的URL地址 function browserRedirect(url) { //只读的字符串,

随机推荐