Linux中为php配置伪静态_php实例
mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面。下面我详细说说它的使用方法 1.检测Apache是否支持mod_rewrite 通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。 2.让apache服务器支持.htaccess 如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面), 复制代码 代码如下: 改为 复制代码 代码如下: 就可以了。 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 查看apache的httpd.conf没有LoadModule rewrite_module modules/mod_rewrite.so这一行,则需要手动生成此模块,方法如下: apache源码包路径为:/ftp/httpd2.2 apache安装路径:/usr/local/apache/ 一、增加mod_rewrite模块 复制代码 代码如下: 如果没有什么错误的话,应该在你的apache的modules目录(/usr/local/apache/modules)中编译出一个mod_rewrite.so文件。 编辑httpd.conf文件,确认httpd.conf中已经包含mod_rewrite.so的加载语句,如下: LoadModule mod_rewrite_module modules/mod_rewrite.so 二、重启apache 1、如果出现以下错误: httpd: Syntax error on line 54 of /usr/local/apache/conf/httpd.conf: Can't locate API module structure `mod_rewrite_module' in file /usr/local/apache/modules/mod_rewrite.so: /usr/local/apache/modules/mod_rewrite.so: undefined symbol: mod_rewrite_module 需要把 LoadModule mod_rewrite_module modules/mod_rewrite.so 改为 LoadModule rewrite_module modules/mod_rewrite.so 2、如果出现以下错误 httpd: Syntax error on line 54 of /usr/local/apache/conf/httpd.conf: module rewrite_module is built-in and can't be loaded 表示模块是内建的,不用再调入,注释掉 #LoadModule rewrite_module modules/mod_rewrite.so 三、对某一虚拟站点开启url重写 1、编辑httpd-vhost.conf,在对应的站点标签内加入: 复制代码 代码如下: 即: 复制代码 代码如下: 四、把对站点的重写规则保存到站点根目录下,文件名为“.htaccess” 五、重启apache即可 |