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中截取查询字符串
您可能感兴趣的文章:
- thinphp中$this->redirect与redirect重定向区别
- PHP中post与get的区别
- PHP扩展模块Pecl、Pear以及Perl的区别
- php中常用的include和require的区别
- PHP中单引号与双引号的区别
- PHP中单引号与双引号的区别
- PHP一些有意思的小区别
- ASP,php,jsp,ASP.net四种web平台语言的区别与前景
- php下用GD生成生成缩略图的两个选择和区别
- PHP 线程安全与非线程安全版本的区别深入解析
- 在php中进行网页重定向一共有三种方法
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- asp jsp cgi php之间的区别和优点
- 在php中进行网页重定向
- PHP实现Mod Rewrite重定向功能
- PHP中单引号与双引号的区别
- 转发和重定向的区别
- [原创]PHP重定向三种方法
- 转发和重定向的区别