A-A+

apache 伪静态

2012年03月09日 PHP技术文章 暂无评论 阅读 51 views 次

下面的方法在PHP的集成环境wamp里面测试通过,在linux上的应用也可以通过,这里最要注意的一点就是在 linux 环境下配置一定要注意大小写,因为linux是区分大小写的。

第一点:apache已经加载了rewriter,已经加载了 LoadModule rewrite_module modules/mod_rewrite.so。前面注释应该是去掉的。至于linux上的应该差不多
第二点:apache支持.htaccess的应用是要把配置文件的AllowOverride All 将none改成ALL的。
开始还以为像wordpress那样在后台设置启用伪静态就可以了,看帮助文件才知道要手动建立. htaccess文件,其帮助文档说明如下:在开始以下设置之前,首先咨询空间服务商,空间是否支持 Rewrite 以及是否支持对站点目录中 .htaccess 的文件解析,否则即便按照下面的方法设置好了,也无法使用。

检查论坛所在目录中是否存在 .htaccess 文件,如果不存在,手工建立此文件。Win32 系统下,无法直接建立 .htaccess 文件,可以从其他系统中拷贝一份,或者在 Discuz.net 技术支持栏目中下载此文件。编辑并修改 .htaccess 文件,添加以下内容

# 将 RewriteEngine 模式打开

RewriteEngine On

# 修改以下语句中的 /discuz 为论坛目录地址,如果程序放在根目录中,将 /discuz 修改为 /

RewriteBase /discuz

# Rewrite 系统规则请勿修改
RewriteRule ^archiver/([a-z0-9\-]+\.html)$ archiver/index.php?$1
RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
RewriteRule ^profile-(username|uid)-(.+)\.html$ viewpro.php?$1=$2
RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2

本网站伪静态设置规则:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)12.html$ $1/12.php
RewriteRule ^(.*)detail_newsID-([0-9]+)\.html$ $1/Art_Show.php?id=$2
RewriteRule ^(.*)/news/detail_newsID-([0-9]+)\.html$ $1/news/Art_Show.php?id=$2
RewriteRule ^(.*)/interview/detail_newsID-([0-9]+)\.html$ $1/interview/Art_Show.php?id=$2
RewriteRule ^(.*)/video/detail_newsID-([0-9]+)\.html$ $1/video/Art_Show.php?id=$2
RewriteRule ^(.*)/exhibit/detail_newsID-([0-9]+)\.html$ $1/exhibit/Art_Show.php?id=$2
RewriteRule ^(.*)/plan/detail_newsID-([0-9]+)\.html$ $1/plan/Art_Show.php?id=$2
RewriteRule ^(.*)/innovate/detail_newsID-([0-9]+)\.html$ $1/innovate/Art_Show.php?id=$2
RewriteRule ^(.*)/agents/detail_newsID-([0-9]+)\.html$ $1/agents/Art_Show.php?id=$2
RewriteRule ^(.*)/credit/detail_newsID-([0-9]+)\.html$ $1/credit/Art_Show.php?id=$2
RewriteRule ^(.*)/knowledge/detail_newsID-([0-9]+)\.html$ $1/knowledge/Art_Show.php?id=$2
RewriteRule ^(.*)/jjzs/detail_newsID-([0-9]+)\.html$ $1/jjzs/Art_Show.php?id=$2
RewriteRule ^(.*)/Magazine/detail_newsID-([0-9]+)\.html$ $1/Magazine/Art_Show.php?id=$2
RewriteRule ^(.*)/job/detail_newsID-([0-9]+)\.html$ $1/job/Art_Show.php?id=$2
RewriteRule ^(.*)/maimai/detail_newsID-([0-9]+)\.html$ $1/maimai/Art_Show.php?id=$2
RewriteRule ^(.*)/yp/indexID-([0-9]+)\.html$ $1/yp/index.php?idd=$2
</IfModule>用来参考修改。

标签:

给我留言