PHP 伪静态

PHP 伪静态——隐藏实际路径,PHP伪静态技术,可以缩短URL隐藏实际路径提高PHP代码的安全性,便于用户记忆和输入,易于被搜索引擎收录。

PHP 伪静态 语法

(1)修改Apache服务器的配置文件httpd.conf。httpd.conf存储在Apache安装文件夹下的conf文件夹中。打开httpd.conf文件,定位到如下位置:

#LoadModule rewrite_module modules/mod_rewrite.so
将该项前面的“#”去掉,启动该项。
(2)查找httpd.conf文件,找到其中的“AllowOverride”项,将它的值都修改为All。
(3)完成对httpd.conf文件的修改后,保存该文件,并重新启动Apache服务器,使修改生效。
(4)接下来在项目的根目录下创建一个.htaccess文件,实现对PHP文件后缀的隐藏操作。.htaccess文件的格式如下:

RewriteEngine on #启动项
通过正则表达式对文件的后缀和传递的参数进行匹配,完成对PHP文件后缀的隐藏操作。

RewriteRule ^index\.html$ index.php [L]

上述直接将文件后缀php替换为html。其替换时的后缀可以任意指定。

RewriteRule ^famousword-([0-9]+)-([a-z]+)\.html$ famousword.php?page=$1&flag=$2 [L]

上述实现对包含参数的PHP文件的后缀进行隐藏,内容分析:

其中famousword是文件的名称,“-”是参数直接的分隔符,通过 ([0- 9]+) 定义第一个参数为数字格式,通过 ([a- z]+) 定义第二个参数为字符串格式,定义文件后缀为.html。

$ 符号后面紧跟的是PHP文件(famousword.php),以及传递的参数 (page=1&flag=2)
[L]是结束字符。

它实现将famousword.php文件隐藏为famousword.html,将其参数page和flag的值分别使用数字和字符串来替换。

RewriteRule ^famouswordinfo-([0-9]+)\.html$ famouswordinfo.php?wordid=$1 [L]

上述内容实现将famouswordinfo.php文件隐藏为famouswordinfo.html,并将参数wordid传递的值使用数字来替换。

RewriteRule ^maindowncenter-(.*)\.html$ maindowncenter.php?a=$1 [L]

上述内容中的“(.*)”表示任意字符串,也就是说使用任意字符串来替换参数a的值。

PHP 伪静态 示例

本示例实现站内搜索的功能,并且对执行文件search.php应用伪静态技术,将其隐藏成一个search.html文件。

在本示例中,将index.php隐藏为index.html,将search.php隐藏为search.html。其.htaccess文件的代码如下:

RewriteEngine On
RewriteRule ^index.html$ index.php
RewriteRule ^search.html$ search.php
赞(0)
未经允许不得转载:极客笔记 » PHP 伪静态
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址