Linux中为php配置伪静态
《PHP实例:Linux中为php配置伪静态》要点: PHP实战mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面.下面我详细说说它的使用办法 PHP实战1.检测Apache是否支撑mod_rewrite PHP实战通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包含“mod_rewrite”,则已经支持,不再需要继续设置. PHP实战2.让apache服务器支撑.htaccess PHP实战如何让自己的当地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了.打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),
代码如下:
Options FollowSymLinks AllowOverride None PHP实战改为
代码如下:
Options FollowSymLinks AllowOverride All PHP实战就可以了. PHP实战++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PHP实战查看apache的httpd.conf没有LoadModule rewrite_module modules/mod_rewrite.so这一行,则需要手动生成此模块,办法如下: PHP实战apache源码包路径为:/ftp/httpd2.2 PHP实战apache安装路径:/usr/local/apache/ PHP实战一、增长mod_rewrite模块
代码如下:
# find . -name mod_rewrite.c //在apache的源码安装目录中寻找mod_rewrite.c文件 ./modules/mappers/mod_rewrite.c # cd /ftp/httpd2.2/modules/mappers //进入包括mod_rewrite.c文件的目录 # /usr/local/apache/bin/apxs -c mod_rewrite.c //apxs应指定绝对路径,在你当前正在使用apache的bin目录里 # /usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la PHP实战如果没有什么错误的话,应该在你的apache的modules目录(/usr/local/apache/modules)中编译出一个mod_rewrite.so文件. PHP实战编辑httpd.conf文件,确认httpd.conf中已经包括mod_rewrite.so的加载语句,如下: PHP实战LoadModule mod_rewrite_module modules/mod_rewrite.so PHP实战二、重启apache PHP实战1、如果出现以下差错: PHP实战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 PHP实战必要把 PHP实战LoadModule mod_rewrite_module modules/mod_rewrite.so PHP实战改为 PHP实战LoadModule rewrite_module modules/mod_rewrite.so PHP实战2、如果出现以下差错 PHP实战httpd: Syntax error on line 54 of /usr/local/apache/conf/httpd.conf: module rewrite_module is built-in and can't be loaded PHP实战表现模块是内建的,不用再调入,注释掉 PHP实战#LoadModule rewrite_module modules/mod_rewrite.so PHP实战三、对某一虚构站点开启url重写 PHP实战1、编纂httpd-vhost.conf,在对应的站点标签内加入:
代码如下:
?Directory? /website/webA?? ??? AllowOverride All ?/Directory? PHP实战即:
代码如下:
?VirtualHost *:80? ??? DocumentRoot? /website/webA? ??? ErrorLog? logs/webA.com-error_log? ??? CustomLog? logs/webA.com-access_log? common ?Directory? /website/webA?? ??? AllowOverride All ?/Directory? ?/VirtualHost? PHP实战四、把对站点的重写规则保留到站点根目录下,文件名为“.htaccess” PHP实战五、重启apache便可??? 欢迎参与《PHP实例:Linux中为php配置伪静态》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |