PHP重定向与伪静态

什么是伪静态

  • 伪静态是相对真静态来讲

  • 伪静态只是把URL改成静态形式,实际上还是动态网页

  • 伪静态有着真静态一样的SEO

什么是重定向(很常用重点学习)

  • 网络请求重新定一个方向,转到别的位置

  • 分为内部外部,区别是外部重定向时,浏览器地址栏中的URL会发生变化

  • http原本就支持重定向3XX

  • 使用重定向技术实现伪静态

重定向的环境搭建

  • 安装web服务器(apache/nginx)

  • 加载mod_rewrite.so模块

重定向实现方式(主要有3种)

  1. 通过配置WEB服务器主配置<DIRECTORY> (生产环境)

  2. 通过.htaccess (开发环境)

  3. 通过脚本实现(外部重定向)

.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中截取查询字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值