欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

apache rewrite_module模块使用教程

程序员文章站 2023-02-17 10:03:29
把 [url]http://wwww.aaaaaaaaa.com/bbb.php?id=888[/url] 的地址形式改为 [url]http://wwww.aaaaaaa...

[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>结束
重写都加在虚拟主机设置中.
如果没有虚拟主机,那加在最后!