PHP重定向与伪静态区别 什么是伪静态 伪静态是相对真静态来讲 伪静态只是把URL改成静态形式,实际上还是动态网页 伪静态有着真静态一样的SEO 什么是重定向(很常用重点学习) 将网络请求重新定一个方向,转到别的位置 分为内部和外部,区别是外部重定向时,浏览器地址栏中的URL会发生变化 http原本就支持重定向3XX 使用重定向技术实现伪静态 重定向的环境搭建 安装web服务器(apache/nginx) 加载mod_rewrite.so模块 重定向实现方式(主要有3种) 通过配置WEB服务器主配置 (生产环境) 通过.htaccess (开发环境) 通过脚本实现(外部重定向) .htaccess重定向实现步骤 第一步:在apache主配置文件里配置allowOverride All(重启) 第二步:在.htaccess文件里配置 RewriteEngine on RewriteRule ^(.*)\.html$ $1.php //匹配html改成php WEB服务器主配置实现重定向 直接在Apache配置文件中找到是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中截取查询字符串