apache 伪静态的配置方法

一 打开 Apache 的配置文件 httpd.conf 。
二 将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉
三 在 httpd.conf中添加:

 代码如下 复制代码
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteCond %{ENV:SCRIPT_URL} (?:index|dispbbs)[-0-9]+.html
RewriteRule ^(.*?(?:index|dispbbs))-([-0-9]+).html$ $1.php?__is_apache_rewrite=1&__rewrite_arg=$2
</IfModule>

四 要实现asp帖子URL到php帖子的映射,在 第三步的<IfModule mod_rewrite.c>和</IfModule>之间添加:

 代码如下 复制代码
RewriteMap tolowercase int:tolower
RewriteCond %{QUERY_STRING} (?:boardid|page|id|replyid|star|skin)=d+ [NC]
RewriteRule ^(.*(?:index|dispbbs)).asp$ $1.php?${tolowercase:%{QUERY_STRING}}&__is_apache_rewrite=1

五 保存httpd.conf并重启Apache。

六、mod_rewrite 简介
Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现伪静态,拟目录,域名跳转,防止盗链等等

七、mod_rewrite 规则的使用

 代码如下 复制代码

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.111cn.net [NC]
RewriteRule ^/(.*) http://www.111cn.net/ [L]
--------
RewriteEngine on
RewriteRule ^/test([0-9]*).html$ /test.php?id=$1
RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]

八、mod_rewrite 规则修正符

1) R 强制外部重定向
2) F 禁用URL,返回403HTTP状态码。
3) G 强制URL为GONE,返回410HTTP状态码。
4) P 强制使用代理转发。
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N 重新从第一条规则开始运行重写过程。
7) C 与下一条规则关联8) T=MIME-type(force MIME type) 强制MIME类型
9) NS 只用于不是内部子请求
10) NC 不区分大小写
11) QSA 追加请求字符串
12) NE 不在输出转义特殊字符 %3d$1 等价于 =$1

时间: 2024-09-20 00:23:03

apache 伪静态的配置方法的相关文章

discuz x1.5 伪静态的配置方法(iis,apache)

discuz x1.5 伪静态的配置方法(iis,apache) 如是Apache服务器,操作如下: 建立.htaccess文件,在该文件里面写入如下伪静态规则: 复制代码 代码如下: # 将 RewriteEngine 模式打开 RewriteEngine On # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 / RewriteBase /discuzxx # Rewrite 系统规则请勿修改 RewriteCond %{QUERY

三种apache Rewrite url配置方法

三种apache Rewrite url配置方法 方案1:最简单,不用配置Apache URI效果:php教程/subject/4843637/">http://movie.example.com/index.php/subject/4843637/ 案例:MediaWiki todo 方案2:配置Apache URL rewrite,重定向至index.php,带参数 URI效果:http://movie.example.com/subject/4843637/ 案例:MediaWiki

mysql和apache运行权限配置方法

MYSQL的降权运行 新建立一个用户比如mysql教程 net user mysql microsoft /add net localgroup users mysql /del 不属于任何组 如果MYSQL装在d:mysql ,那么,给 mysql完全控制 的权限 然后在系统服务中设置,MYSQL的服务属性,在登录属性当中,选择此用户mysql然后输入密码,确定. 重新启动MYSQL服务,然后MYSQL就运行在低权限下了. 2.如果是在windos平台下搭建的apache我们还需要注意一点,a

让apache 支持 shtml 配置方法

什么是SSI? SSI是英文Server Side Includes的缩写,翻译成中文就是服务器端包含的意思.从技术角度上说,SSI就是在HTML文件中,可以通过注释行调用的命令或指针.SSI具有强大的功能,只要使用一条简单的SSI命令就可以实现整个网站的内容更新,时间和日期的动态显示,以及执行shell和CGI脚本程序等复杂的功能. 如何使你的Apache服务器支持SSI? Apache默认是不支持SSI的,需要我们更改httpd.conf来进行配置.我这里以windows平台的Apache

Apache二级域名配置方法

Apache二级域名实现方法介绍 首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com 其次,在 httpd.conf 中打开 mod_rewrite 之后,在 httpd.conf 的最后,添加以下内容:RewriteEngine on RewriteMap lowercase int:tolower RewriteMap vhost txt:/usr/local/etc/apache/vhost.map RewriteCond ${lowercase:%{SERVER_NA

window+Apache+Php环境配置方法

如果配置过忘了,呢么紧跟红字引导哦~   如果很讨厌配置环境这种工作的朋友,呵呵,搜"XAMPP"吧~安装包里应有尽有哦!   Ok,想知其然,并知其所以然,继续.          I. 下载Apache(msi版)                  a. 网络域,服务器,管理员的设置,不确定就随意吧~记住哦(这些信息可以在httpd.conf里修改)                  b. 安装,打开apache目录下的conf文件,找到httpd.cong,加入对PHP模块的支持

Apache支持.htaccess配置方法

打开httpd.conf文件用文本编辑器打开后,查找  代码如下 复制代码 Options FollowSymLinks AllowOverride None 改为: Options FollowSymLinks AllowOverride All 可是我在我的httpd.conf文件里根本没有发现Options FollowSymLinks 之类的东西.我只好将  代码如下 复制代码 Options FollowSymLinks AllowOverride All 手动添加到httpd.con

apache泛域名配置方法

在apache的httpd.conf文件加入如下代码  代码如下 复制代码 <VirtualHost *:80> DocumentRoot /var/html/blog.111cn.net/ ServerName 111cn.net ServerAlias *.111cn.net DirectoryIndex index.html index.php RewriteEngine on RewriteCond %{HTTP_HOST} ^[a-zA-Z0-9]+.blog.sjzycxx.cn$

apache服务器404配置方法

通过修改httpd.conf 打开httpd.conf,找到:  代码如下 复制代码 #ErrorDocument 404 /missing.html #missing文件必须是存在的文件 通过.htaccess来配置 在.htaccess中加入下面代码  代码如下 复制代码 errorDocument 404 /404.html 即可了,注意如果使用.htaccess 404我们需要apache支持此功能哦 修改httpd.conf,首先找到  代码如下 复制代码 Options Follow