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 中文和编码判断代码
May 16 PHP
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 PHP
Apache服务器无法使用的解决方法
May 08 PHP
php上传文件问题汇总
Jan 30 PHP
php遍历CSV类实例
Apr 14 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
Zend Framework教程之Zend_Config_Ini用法分析
Mar 23 PHP
yii2使用ajax返回json的实现方法
May 14 PHP
php编译安装php-amq扩展简明教程
Jun 25 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 PHP
laravel 去掉index.php伪静态的操作方法
Oct 12 PHP
如何运行/调试你的PHP代码
Oct 23 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小偷的核心程序
2007/04/09 PHP
PHP 面向对象实现代码
2009/11/11 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
PHP使用PHPexcel导入导出数据的方法
2015/11/14 PHP
PHP实现微信提现功能
2018/09/30 PHP
YII分模块加载路由的实现方法
2018/10/01 PHP
JS动态获取当前时间,并写到特定的区域
2013/05/03 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
2013/10/25 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
2015/06/14 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
axios发送post请求springMVC接收不到参数的解决方法
2018/03/05 Javascript
小程序视频列表中视频的播放与停止的示例代码
2018/07/20 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
2019/01/20 Javascript
nodejs nedb 封装库与使用方法示例
2020/02/06 NodeJs
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
Python数据库的连接实现方法与注意事项
2016/02/27 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
2020/06/16 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
软件测试有哪些?什么是配置项?
2012/02/12 面试题
实习老师个人总结的自我评价
2013/09/28 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
离职报告范文
2014/11/04 职场文书
2014年帮扶工作总结
2014/11/26 职场文书
前台岗位职责
2015/02/13 职场文书
不同意离婚代理词
2015/05/23 职场文书
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers