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 相关文章推荐
建立文件交换功能的脚本(二)
Oct 09 PHP
注册页面之前先验证用户名是否存在的php代码
Jul 14 PHP
PHP设计模式之结构模式的深入解析
Jun 13 PHP
使用PHP编写的SVN类
Jul 18 PHP
ThinkPHP中redirect用法分析
Dec 05 PHP
php使用PDO操作MySQL数据库实例
Dec 30 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
Apr 07 PHP
利用PHP fsockopen 模拟POST/GET传送数据的方法
Sep 22 PHP
phpStudy访问速度慢和启动失败的解决办法
Nov 19 PHP
PHP检测链接是否存在的代码实例分享
May 06 PHP
php查看一个变量的占用内存的实例代码
Mar 29 PHP
浅谈PHP7中的一些小技巧
May 29 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实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
JavaScript Sort 表格排序
2009/10/31 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
js获取页面传来参数的方法
2014/09/06 Javascript
JavaScript中获取样式的原生方法小结
2014/10/08 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
js实现上下左右弹框划出效果
2017/03/08 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
使用Require.js封装原生js轮播图的实现代码
2017/06/15 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
vue.js实现回到顶部动画效果
2019/07/31 Javascript
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
vue 获取url参数、get参数返回数组的操作
2020/11/12 Javascript
python根据经纬度计算距离示例
2014/02/16 Python
Python版名片管理系统
2018/11/30 Python
python检测IP地址变化并触发事件
2018/12/26 Python
python 列表中[ ]中冒号‘:’的作用
2019/04/30 Python
Python笔记之facade模式
2019/11/20 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
2020/05/16 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
K近邻法(KNN)相关知识总结以及如何用python实现
2021/01/28 Python
《一件运动衫》教学反思
2014/02/19 职场文书
市场营销大学生职业规划书
2014/02/25 职场文书
出生公证委托书
2014/04/03 职场文书
员工薪酬激励方案
2014/06/13 职场文书
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL
Python如何将list中的string转换为int
2022/07/15 Ruby