PHP重定向与伪静态区别

yipeiwu_com5年前PHP代码库

什么是伪静态

伪静态是相对真静态来讲
伪静态只是把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中实现接收多个name相同但Value不相同表单数据实例

最近在一个询盘留言管理系统时候一个问题,留言的前台的表单当中出现很多name值相同的input框,这些框是由用户填写的各不相同的值,现在要迁移到php平台上,而且要求不能改变前台的任何表...

PHP中PDO的事务处理分析

本文实例分析了PHP中PDO的事务处理。分享给大家供大家参考,具体如下: 事务处理具有四个特性:原子性、一致性、独立性、持久性。 并不是所有的数据库都支持事务处理的,PDO 为能够执行事...

thinkphp autoload 命名空间自定义 namespace

thinkphp autoload 命名空间自定义 namespace

使用thinkPHP过程中,一些自定义的类库和第三方类库需要找一个合适的位置放置,放到系统默认的org文件夹感觉不太好,破坏了thinkPHP的原生目录。 就看了一下官方手册,可以在模块...

PHP 出现乱码和Sessions验证问题的解决方法!

在PHP脚本中读出中文或者其他语言文字为乱码的时候,首先检查你的文件格式是不是用UTF8的编码格式保存的。如果不是请用UltraEdit...等一些对UTF8支持转换的工具转换一下,最好...

php图片处理函数获取类型及扩展名实例

本文实例讲述了php图片处理函数获取类型及扩展名的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:image_type=image_type_to_mime_typ...