Apache - mod_rewrite - 与PHP集成时不需要对$_GET额外处理

来源:互联网 发布:淘宝店铺封面图片尺寸 编辑:程序博客网 时间:2024/06/16 22:53

Apache - mod_rewrite - 与PHP集成时不需要对$_GET额外处理

[.htaccess文件]

RewriteEngine on
RewriteRule ^info/(/d+)-(/d+)-(/d+)/.html dispbbs.php/?boarid=$1/&id=$2/&page=$3 [L]

[dispbbs.php文件]

<?php
var_dump($_GET);
?>
访问如下URL
http://localhost/url_rewrite/info/1-2-3.html
输出信息
array(3) { ["boarid"]=> string(1) "1" ["id"]=> string(1) "2" ["page"]=> string(1) "3" }
不需要对PHP程序额外处理

[apache关键词]

apache

[mod_rewrite模块关键词]

httxt2dbm
mod_rewrite
ornext
RewriteBase
RewriteCond
RewriteEngine
RewriteLog
RewriteLogLevel
RewriteMap
RewriteRule

[mod_rewrite模块常见用途]

改变查询参数的设定位置

[mod_rewrite模块标记]

RewriteLog, 设置重写引擎日志的文件名

RewriteRule, 设置重写规则

[mod_rewrite模块常见问题]

RewriteRule中的正则表达式需要考虑是否要加上^(匹配字符串开头)

RewriteRule中的正则表达式需要考虑是否要对.转义(匹配任意字符还是仅匹配.字符)

RewriteRule中的R标记用于发送重定向

通过检查Referer避免静态图片盗链对性能有严重影响

与PHP集成时不需要对$_GET额外处理

[apache其他常见问题]

RedirectMatch用于简单的重定向