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 Undefined index和Undefined variable的解决方法
Mar 27 PHP
php 从数据库提取二进制图片的处理代码
Sep 09 PHP
PHP中10个不常见却非常有用的函数
Mar 21 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
Sep 19 PHP
php动态实现表格跨行跨列实现代码
Nov 06 PHP
php打开文件fopen函数的使用说明
Jul 05 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
Nov 19 PHP
Nginx下配置codeigniter框架方法
Apr 07 PHP
详解PHP的Yii框架中自带的前端资源包的使用
Mar 31 PHP
PHP编写登录验证码功能 附调用方法
May 19 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
May 20 PHP
PHP sdk实现在线打包代码示例
Dec 09 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
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
2011/07/29 PHP
深入file_get_contents与curl函数的详解
2013/06/25 PHP
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
将二维数组转为一维数组的2种方法
2014/05/26 PHP
smarty内置函数config_load用法实例
2015/01/22 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
js常用函数 不错
2006/09/08 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
JavaScript中各种引用类型的常用操作方法小结
2016/05/05 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
JQuery之proxy实现绑定代理方法
2016/08/01 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
详解react内联样式使用webpack将px转rem
2018/09/13 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
js中switch语句的学习笔记
2020/03/25 Javascript
基于openlayers实现角度测量功能
2020/09/28 Javascript
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
Android分包MultiDex策略详解
2017/10/30 Python
Python入门之三角函数atan2()函数详解
2017/11/08 Python
Python实现PS图像调整黑白效果示例
2018/01/25 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
代码详解django中数据库设置
2019/01/28 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
介绍下static、final、abstract区别
2015/01/30 面试题
新课程改革心得体会
2016/01/22 职场文书
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle