Apache中URL Rewrite技术的实现

最近我们公司的网站在进行优化动作,要想采用一种好点的技术,使得原来的PHP动态形式的网页文件能够被GOOGLE等搜索引擎更加容易地收入其中,目前我们已经采用了一些改进办法:比如在后台用PHP程序将原来的文件改成HTM内容;采用Apache的Path_Info技术,但觉得还是不够强大,因此决定采用Apache中的URL Rewrite技术来试用一下。

很早就注意到它了,但一直不知道怎么实现,今天咬咬牙,翻了N篇有关的文章,终于实现了一些基本的功能:

1、修改http.conf

在你要修改网站的根目录下:


DefaultType application/x-httpd-php
rewriteengine on #必须
options followsymlinks #必须
RewriteRule /news/(/d+)/.html /news/.php/?id=$1 [N,L] #规则
AllowOverride All

2、先修改http.conf


DefaultType application/x-httpd-php
options followsymlinks
AllowOverride All

然后再在此目录下建立一个.htacess文件,它的内容如下:
rewriteengine on
rewritebase /websamples/urlrewrite/
RewriteRule news/(/d+)/.html news/.php/?id=$1 [N,L]

 

这样就实现了将http://localhost/news/1000.html 解析为 http://localhost/news.php?id=1000的功能

附录:(一个网站的.htacess文件)

-------------------------------------------------------------------------------

ErrorDocument 401 /error.php
rewriteengine on
rewritebase /websamples/urlrewrite/power-for-less.com/

#show category
#
RewriteRule ^((laptop([^/]*))|(camcorder([^/]*))|(((digital)?).?camera([^/]*))|(power([^/]*))|(pda([^/]*))|(mobile([^/]*))|(two-way([^/]*))|(scanner([^/]*))|(mp3([^/]*)))/.htm(l?)$ babrand/.php/?fclassname=$1 [NC]

#show brands
#
RewriteRule ^(laptop([^/]*))/([^/]+)/.htm(l?)$ series/.php/?fclassname=$1&fb_babrand=$3 [NC]
RewriteRule ^(camcorder([^/]*))/([^/]+)/.htm(l?)$ series/.php/?fclassname=$1&fb_babrand=$3 [NC]
RewriteRule ^(((digital)?).?camera([^/]*))/([^/]+)/.htm(l?)$ series/.php/?fclassname=$1&fb_babrand=$5 [NC]
RewriteRule ^(power([^/]*))/([^/]+)/.htm(l?)$ series/.php/?fclassname=$1&fb_babrand=$3 [NC]
RewriteRule ^(pda([^/]*))/([^/]+)/.htm(l?)$ series/.php/?fclassname=$1&fb_babrand=$3 [NC]
RewriteRule ^(mobile([^/]*))/([^/]+)/.htm(l?)$ series/.php/?fclassname=$1&fb_babrand=$3 [NC]
RewriteRule ^(two-way([^/]*))/([^/]+)/.htm(l?)$ series/.php/?fclassname=$1&fb_babrand=$3 [NC]
RewriteRule ^(scanner([^/]*))/([^/]+)/.htm(l?)$ series/.php/?fclassname=$1&fb_babrand=$3 [NC]
RewriteRule ^(mp3([^/]*))/([^/]+)/.htm(l?)$ series/.php/?fclassname=$1&fb_babrand=$3 [NC]

#show products
#
RewriteRule ^(laptop([^/]*))/([^/]+)/(.+)/.htm(l?)$ product/.php/?fclassname=$1&fb_babrand=$3&code=$4 [NC]
RewriteRule ^(camcorder([^/]*))/([^/]+)/(.+)/.htm(l?)$ product/.php/?fclassname=$1&fb_babrand=$3&code=$4 [NC]
RewriteRule ^(((digital)?).?camera([^/]*))/([^/]+)/(.+)/.htm(l?)$ product/.php/?fclassname=$1&fb_babrand=$3&code=$6 [NC]
RewriteRule ^(power([^/]*))/([^/]+)/(.+)/.htm(l?)$ product/.php/?fclassname=$1&fb_babrand=$3&code=$4 [NC]
RewriteRule ^(pda([^/]*))/([^/]+)/(.+)/.htm(l?)$ product/.php/?fclassname=$1&fb_babrand=$3&code=$4 [NC]
RewriteRule ^(mobile([^/]*))/([^/]+)/(.+)/.htm(l?)$ product/.php/?fclassname=$1&fb_babrand=$3&code=$4 [NC]
RewriteRule ^(two-way([^/]*))/([^/]+)/(.+)/.htm(l?)$ product/.php/?fclassname=$1&fb_babrand=$3&code=$4 [NC]
RewriteRule ^(scanner([^/]*))/([^/]+)/(.+)/.htm(l?)$ product/.php/?fclassname=$1&fb_babrand=$3&code=$4 [NC]
RewriteRule ^(mp3([^/]*))/([^/]+)/(.+)/.htm(l?)$ product/.php/?fclassname=$1&fb_babrand=$3&code=$4 [NC]

 

转载于:https://www.cnblogs.com/myitworld/archive/2007/06/14/2214929.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值