PHP如何实现网址伪静态(转)

摘要:
Apache mod_ Rewrite相对强大。在网站建设过程中,您可以使用此模块实现伪静态。然后通过phpinfo()函数检查环境配置,将出现“mod_rewrite”项。您只需修改Apache的httpd.conf设置即可使Apache支持“.htaccess”。如果要实现伪静态页面,规则如下:RewriteEngineRewriteRule-。html$索引。php?操作=$1&id=$2以上两个规则已在测试机器中成功测试。Xxx。html(不存在)这会导致执行错误。htmlxxx-12.html这将转到执行测试。php中。

Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态。
主要步骤如下:

1、检测Apache是否开启mod_rewrite功能     可以通过php提供的phpinfo()函数查看环境配置,找到“Loaded Modules”,

其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。

如果没有开启“mod_rewrite”,则打开目录 apache目录下的“/apache/conf/” ,找到 httpd.conf 文件,再找到“LoadModule rewrite_module”,

将前面的”#”号删除即表示取用该功能。    如果没有查找到“LoadModule” 区域,可以在最后一行加入“LoadModule rewrite_module ,modules/mod_rewrite.so”(独占一行),

之后重启apache服务器。再通过phpinfo()函数查看环境配置就有“mod_rewrite”为项了.。
 2、让apache服务器支持.htaccess    如何让自己的本地APACHE服务器支持:“htaccess”呢? 只需修改apache的httpd.conf设置就可以让 APACHE支持“.htaccess”了。

打开 APACHE目录的CONF目录下的httpd.conf文件,找到:

  Options FollowSymLinks AllowOverride None 改为 Options FollowSymLinks AllowOverride All 就行了。
 3、建立.htaccess 文件    建立.htaccess文件时要注意,不能直接建,方法是通过记事本中的另存为菜单,在文件名窗口输入:“.htaccess”,然后点击保存。
 4、rewrite规则学习    在新建.htaccess文件之后,就在里面写入以下内容: RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭

       RewriteRule ([0-9]{1,})$index.php?id=$1 在这里,RewriteRule是重写规则,是用正则表达式的句子,([0-9]{1,})表示由数字组成的,

  $表示结束标志,表示以数字结束!如果要实现伪静态页面,规则如下:

   RewriteEngine on RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$  index.php?action=$1&id=$2

       在为个正则表达式中,([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第1括号匹配的值,$2代表第二个括号的值,

      如此类推! 测试PHP脚本如下: index.php文件中的代码如下: echo ‘你的Action值为:’ . $_GET['action']; echo ‘ ’; echo ‘ID值为:’ . $_GET['id']; ?>
  在浏览器地址栏输入: localhost/page-18.html 输出的是: 你的Action值为:page ID值为:18

ErrorDocument 404 error.html    ----可以编写错误转向规则。
RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$ test.php?action=$1&id=$2

上述两条规则放在测试机中测试成功。 xxx.html(不存在) 这转向执行 error.html

xxx-12.html 这转向test.php执行。

免责声明:文章转载自《PHP如何实现网址伪静态(转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇汇编语言学习 基础知识Linux等待队列原理与实现下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用PHP解压文件Unzip

这是一个非常方便的PHP函数从。zip文件解压缩文件。它有两个参数:第一个是压缩文件的路径和第二 1 function unzip_file($file, $destination) { 2 // create object 3 $zip = new ZipArchive() ; 4 // open archive 5...

PHP之Smarty模板引擎

前面的话对PHP来说,有很多模板引擎可供选择,但Smarty是一个使用PHP编写出来的,是业界最著名、功能最强大的一种PHP模板引擎。Smarty像PHP一样拥有丰富的函数库,从统计字数到自动缩进、文字环绕以及正则表达式都可以直接使用,如果觉得不够,SMARTY还有很强的扩展能力,可以通过插件的形式进行扩充。另外,Smarty也是一种自由软件,用户可以自由...

聚合类型与POD类型

Lippman在《深度探索C++对象模型》的前言中写道: I have heard a number of people over the years voice opinions similar to those of your colleagues. In every case, those opinions could be attributed...

LNMP环境的安装配置(简单版)

0、安装必要的依赖软件 如果已经安装了可能会进行升级,版本完全一致则不会进行任何操作。 yum -y install bzip2-devel curl-devel freetype-devel gcc libjpeg-devel libpng-devel libxslt-devel libxml2-devel openssl-devel pcre-deve...

Rails的静态资源管理(二)—— 如何使用 Asset Pipeline

官方文档:http://guides.ruby-china.org/asset_pipeline.html http://guides.rubyonrails.org/asset_pipeline.html 在 Rails 的早期版本中,所有静态资源文件都放在 public 文件夹的子文件夹中,例如 images、javascripts 和 stylesh...

svn_linux + apache 实现网页访问svn

CentOS7:搭建SVN + Apache 服务器实现网页访问 1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ httpd -version Server version: Apache/2.4.6 (CentOS) Server built: Jul 18 20...