PHP重定向与伪静态区别


Posted in PHP onFebruary 19, 2017

什么是伪静态

伪静态是相对真静态来讲
伪静态只是把URL改成静态形式,实际上还是动态网页
伪静态有着真静态一样的SEO

什么是重定向(很常用重点学习)

将网络请求重新定一个方向,转到别的位置
分为内部和外部,区别是外部重定向时,浏览器地址栏中的URL会发生变化
http原本就支持重定向3XX
使用重定向技术实现伪静态

重定向的环境搭建

安装web服务器(apache/nginx)
加载mod_rewrite.so模块

重定向实现方式(主要有3种)

通过配置WEB服务器主配置<DIRECTORY> (生产环境)
通过.htaccess (开发环境)
通过脚本实现(外部重定向)

.htaccess重定向实现步骤

第一步:在apache主配置文件里配置allowOverride All(重启)
第二步:在.htaccess文件里配置

RewriteEngine on 
RewriteRule ^(.*)\.html$ $1.php  //匹配html改成php

WEB服务器主配置实现重定向

直接在Apache配置文件中找到<DIRECTORY>是web项目地址的加上下面代码:

RewriteEngine on 
RewriteRule ^(.*)\.html$ $1.php  //匹配html改成php

RewriteRule语法说明

RewriteRule 匹配模式 替换的URL [flags]
匹配模式支持Prel格式的正则表达式与rewrite变量
替换的URL支持匹配模式的结果与rewrite变量
多个flags用逗号隔开(例如:[R=301,C])

RewriteRule flags说明

R 强制外部重定向,浏览器地址栏url会发生变化,301永久重定向,302临时重定向,例子:[R=301],[R](代表301)
C 链接下一条规则,如果有多条规则的话,则当前加[C]的规则与下条规则成为一个整体,第一天不匹配,那么下一条就不进入
L 停止匹配后面的规则,如果有多条规则的话,当加[L]的规则匹配后,则停止后面规则的匹配
NE 不对URL的特殊字符进行转义
NC 不区分大小写
G 请求的网页失效,服务器返回410
QSA 用于在url中截取查询字符串

PHP 相关文章推荐
PHP数据类型的总结分析
Jun 13 PHP
PHP Global定义全局变量使用说明
Aug 15 PHP
thinkphp实现多语言功能(语言包)
Mar 04 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
Jan 22 PHP
WordPress中制作导航菜单的PHP核心方法讲解
Dec 11 PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 PHP
PHP中的正则表达式实例详解
Apr 25 PHP
Yii2框架中日志的使用方法分析
May 22 PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 PHP
php封装单文件上传到数据库(路径)
Oct 15 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
PHP+ajax实现二级联动菜单功能示例
Aug 10 PHP
PHP中empty,isset,is_null用法和区别
Feb 19 #PHP
简单谈谈 php 文件锁
Feb 19 #PHP
PHP new static 和 new self详解
Feb 19 #PHP
PHP连接MySQL进行增、删、改、查操作
Feb 19 #PHP
PHP进程通信基础之信号量与共享内存通信
Feb 19 #PHP
PHP进程通信基础之信号
Feb 19 #PHP
PHP 信号管理知识整理汇总
Feb 19 #PHP
You might like
使用sockets:从新闻组中获取文章(一)
2006/10/09 PHP
php错误级别的设置方法
2013/06/17 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
jquery图片放大功能简单实现
2013/08/01 Javascript
js动态添加删除,后台取数据(示例代码)
2013/11/25 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
axios学习教程全攻略
2017/03/26 Javascript
浅谈js中的this问题
2017/08/31 Javascript
JS脚本加载后执行相应回调函数的操作方法
2018/02/28 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
vue中destroyed方法的使用说明
2020/07/21 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
[01:40]2014DOTA2国际邀请赛 三冰SOLO赛后采访恶搞
2014/07/09 DOTA
深入浅出分析Python装饰器用法
2017/07/28 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
使用python serial 获取所有的串口名称的实例
2019/07/02 Python
Python logging设置和logger解析
2019/08/28 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
详解Django配置JWT认证方式
2020/05/09 Python
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
批评与自我批评发言稿
2014/10/15 职场文书
出国签证在职证明范本
2014/11/24 职场文书
水电工程师岗位职责
2015/02/13 职场文书
预备党员个人总结
2015/02/14 职场文书
催款函怎么写
2015/06/24 职场文书
pytorch 运行一段时间后出现GPU OOM的问题
2021/06/02 Python