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 和 COM
Oct 09 PHP
php4的彩蛋
Oct 09 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
Aug 08 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
Jun 26 PHP
Zend Studio 实用快捷键一览表(精心整理)
Aug 10 PHP
php实现给图片加灰色半透明效果的方法
Oct 20 PHP
php中文繁体和简体相互转换的方法
Mar 21 PHP
浅析iis7.5安装配置php环境
May 10 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
Yii2创建控制器(createController)方法详解
Jul 23 PHP
thinkPHP的表达式查询用法详解
Sep 14 PHP
php封装的mysqli类完整实例
Oct 18 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
sql注入与转义的php函数代码
2013/06/17 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
浅析php创建者模式
2014/11/25 PHP
php foreach如何跳出两层循环(详解)
2016/11/05 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
2020/03/16 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
简单实现js浮动框
2016/12/13 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
vue.js $refs和$emit 父子组件交互的方法
2017/12/20 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
详解javascript void(0)
2020/07/13 Javascript
Python函数学习笔记
2008/10/07 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
Python面向对象编程基础解析(二)
2017/10/26 Python
python实现下载pop3邮件保存到本地
2018/06/19 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
利用python查看数组中的所有元素是否相同
2021/01/08 Python
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
化工工艺专业求职信
2013/09/22 职场文书
客服工作职责
2013/12/11 职场文书
2014年手术室工作总结
2014/11/26 职场文书
2014年电教工作总结
2014/12/19 职场文书
端午节寄语2015
2015/03/23 职场文书
小学运动会报道稿
2015/07/22 职场文书
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android