您的位置:首页网页设计PHP教程 → Apache中URL Rewrite技术实现方式

Apache中URL Rewrite技术实现方式

时间:2011/2/15 17:42:37来源:本站原创作者:清晨我要评论(0)

对网站在进行优化动作,要想采用一种好点的技术,使得原来的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]
 
这样就实现了将[url]http://localhost/news/1000.html[/url] 解析为 [url]http://localhost/news.php?id=1000[/url]的功能
附录:(一个网站的.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]

相关视频

    没有数据

相关阅读 解析apache封IP技巧让Apache性能显著提升的25个优化技巧ssi服务配置教程:Apache服务器下配置SSI服务apache php 配置优化编译apache的rewrite模块实例apache泛域名解析+泛域名指向处理文件让wamp apache 支持asp的 ActiveHTML组件Google推出Apache加速模块,可提升50%速度

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 PHP入门教程书籍介绍用可牛为MM无痛纹身刺 编译apache的rewrite模块实例Apache中URL Rewrite技术实现方式在PHP中有urldecode()等函数来解决网页URL编PHP中的mb_convert_encoding转换编码与icon

人气排行 在PHP中有urldecode()等函数来解决网页URL编dede 完美分页效果! pagelist修改,实现门PHP入门教程书籍介绍用IdHTTP获取UTF-8编码的网页apache泛域名解析+泛域名指向处理文件ThinkTemplate模板引擎的设计和使用方法如何用php将任何格式视频转为flv破解防盗链图片的php函数