apache rewrite_module模块使用教程


[url]http://wwww.aaaaaaaaa.com/bbb.php?id=888[/url]
的地址形式改为
[url]http://wwww.aaaaaaaaa.com/888.htm[/url]
或者
[url]http://wwww.aaaaaaaaa.com/yourname/888.htm[/url]
当然可以按照你的要求随便变.
APACHE的 MOD_rewrite模块.
大家可以看一个演示的一个 PHP学习论坛
[url]http://www.phpx.com/happy/[/url]
这个论坛的版面和帖子,就是运用了这个技术,地址静态化.但是是假的.
这个技术哪里好?
可以让baidu, google等收入你的站点所有页面.
收入地址就是你的假静态地址.当然别人看不出你是假的.而且这个技术隐藏了你背后执行的程序.
你可以把
/soft/1234.html 重写传递给 soft.php?id=1234
当然你改一下名 换成 softxfewafew.php?id=1234
表面还是 soft/1234.html但是你 APACHE内部执行了你重写的文件.
从根本上可以防止别人从程序本身入侵.

下面我写怎么样重写.分为 WINDOWS和LIUNX2种
都是操作
APACHE安装文件夹内的 CONF文件夹里面的httpd.conf
打开以后,找到
#LoadModule rewrite_module "modules/mod_rewrite.so" 
把#去掉.
然后找到虚拟主机配置
在虚拟主机中加入
RewriteEngine On 
RewriteRule ^/soft/([0-9]+).html$ /soft.php?id=$1 
//解释
//WWW.玉米.COM/SOFT/1234.HTML
//重写为
//WWW.玉米.COM/soft.php?id=1234
//这里ID是可以变的 你给它 1 就是传递1
RewriteRule ^/([0-9]+).html$ /soft.php?id=$1 
//解释
//WWW.玉米.COM/1234.HTML
//重写为
//WWW.玉米.COM/soft.php?id=1234
RewriteRule ^/([0-9]+)_([0-9]+).html$ /soft.php?id=$1&catid=$2
//解释
//WWW.玉米.COM/1234_2222.HTML
//重写为
//WWW.玉米.COM/soft.php?id=1234&catid=2222
当然随便你怎么换!
这就是 WIN下的.
LIUNX下是一样的 但是要加
<IfModule mod_rewrite.c>开始
</IfModule>结束
重写都加在虚拟主机设置中.
如果没有虚拟主机,那加在最后!

(0)

相关推荐

  • 开启Apache mod_rewrite模块示例代码

    启用mod_rewrite模块 在conf目录的httpd.conf文件中找到 LoadModule rewrite_module modules/mod_rewrite.so 将这一行前面的#去掉. 2.在要支持url rewirte的目录启用 Options FollowSymLinks和AllowOverride All Alias /php "c:/web/php/" 复制代码 代码如下: <Directory "c:/web/php/"> Op

  • 学习Apache的mod rewrite、access写法

    Apache 的 mod rewrite RewriteEngine On RewriteBase /B2B/website/ RewriteRule ^article-([0-9]+)\.html$ view_details.php?browse=profile&id=$1 以上这个测试通过的.如果不行关键是服务器端,以后的怎么改就发挥了 关于图片的 可以加一个 /503(id)/title.htm 这样一定不重复了,用503或其他数字或者是abc也行,不顾oabc还想不是很理想,学学ii的,

  • Apache Rewrite url重定向功能的简单配置

    1.Apache Rewrite的主要功能 就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范.平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等 2.Apache Rewrite的配置 Apache下的Rewrite配置主要有两种,一种是针对整个apache服务器的配置,此种配置的Rewrite规则是直接在httpd.conf下书写.配置步骤如下: (1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewri

  • 让Apache支持Rewrite静态页面重写的方法

    首先确定您使用的 Apache 版本,及是否加载了 mod_rewrite 模块. Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码: LoadModule rewrite_module libexec/mod_rewrite.so AddModule mod_rewrite.c Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码: LoadModule rewrite_module modules/mod_rew

  • Apache rewrite重写规则的常见应用

    一.为什么需要用重写规则 ---- 网站的生命在于不断地进行更新和维护,根据业务发展的需求转移服务器进行维护.重新组织目录结构.变换URL甚至改变到新的域名等情况是经常发生的.为了让客户不会因此受到任何影响,最好的方法就是使用Apache Rewrite Rule(重写规则). 二.重写规则的作用范围 ---- 1.使用在Apache主配置文件httpd.conf中. ---- 2.使用在httpd.conf里定义的配置中. ---- 3.使用在基本目录的跨越配置文件.htaccess中. 三.

  • 13个实用的Apache Rewrite重写规则

    1.去掉域名中的www标记 复制代码 代码如下: RewriteCond %{HTTP_HOST} !^jb51\.net$ [NC]RewriteRule .? http://jb51.net%{REQUEST_URI} [R=301,L] 2.去掉www标记,但是保存子域名 复制代码 代码如下: RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?jb51\.net)$ [NC]RewriteRule .? http://%1%{REQUEST_UR

  • Apache rewrite的重写相关的参数说明

    Apache mod_rewrite规则重写的标志一览 R[=code](force redirect) 强制外部重定向 强制在替代字符串加上http://thishost[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省的302 HTTP状态码. F(force URL to be forbidden)禁用URL,返回403HTTP状态码. G(force URL to be gone) 强制URL为GONE,返回410HTTP状态码. P(force proxy)

  • apache的rewrite规则使用说明

    rewrite标志R[=code](force redirect) 强制外部重定向 强制在替代字符串加上http://thishost[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省的302 HTTP状态码.F(force URL to be forbidden)禁用URL,返回403HTTP状态码.G(force URL to be gone) 强制URL为GONE,返回410HTTP状态码.P(force proxy) 强制使用代理转发.L(last rule)

  • 用ISAPI_Rewrite让IIS也支持如Apache下.htaccess的URL重写

    前些日子用Linux做服务器写了一些东西,发现Apache下的.htaccess真是个好东西!不仅能实现URL真重写,还能实现假重写.真重写可以有效降低代码量与服务器资源消耗量,伪重写可以有效减少服务器的静态文件体积,节约了空间,真是不错!其实htaccess的功能远不只如此. 言归正传,那么IIS下能不能也实现htaccess这样激动人心的功能呢?ASP.NET2.0这个东东不是服务器级的,不能胜任重写这个重任,那么只有交给ISAPI了,在网上搜索,还居然真有公司(组织)开发了这种东东!不可思

  • Apache Rewrite实现URL的301跳转和域名跳转

    如果要想用到rewrite模块,必须先安装或加载rewrite模块.方法有两种一种是编译apache的时候就直接安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块. 基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意

  • 浅谈apache和nginx的rewrite的区别

    1. Nginx Rewrite规则相关指令 Nginx Rewrite规则相关指令有if.rewrite.set.return.break等,其中rewrite是最关键的指令.一个简单的Nginx Rewrite规则语法如下: rewrite ^/b/(.*)\.html /play.php?video=$1 break; 如果加上if语句,示例如下: if (!-f $request_filename) { rewrite ^/img/(.*)$ /site/$host/images/$1

  • apache rewrite规则实现白名单

    需求: 六个文件的入口,其他都重定向到index 自己的思路: 正则找出不是六个文件的URL的模式,进行过滤. 对比同事的结果,自己思路的问题: 1. 想找出所有不符合规则的,越想越多,无法下手.----------------   思路错误,应该 制定白名单, 2. 概念错误, 弄错 REQUEST_URI 和 REQUEST_STRING 的概念   基础知识不牢固. 最后结果: 复制代码 代码如下: <IfModule mod_rewrite.c> RewriteEngine on Re

随机推荐