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]
 
这样就实现了将[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]









本文转自 牛海彬 51CTO博客,原文链接:http://blog.51cto.com/newhappy/76857,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
存储 缓存 分布式计算
Apache Hudi数据跳过技术加速查询高达50倍
Apache Hudi数据跳过技术加速查询高达50倍
38 2
|
7月前
|
存储 NoSQL Apache
五分钟技术趣谈 | Apache Paimon浅析及在威胁情报中的应用
五分钟技术趣谈 | Apache Paimon浅析及在威胁情报中的应用
|
8月前
|
域名解析 Linux 网络安全
Apache配置虚拟主机----基于域名的虚拟主机技术
Apache配置虚拟主机----基于域名的虚拟主机技术
154 0
|
1月前
|
运维 Linux Apache
LAMP架构调优(九)——Apache Rewrite功能实战
LAMP架构调优(九)——Apache Rewrite功能实战
12 1
|
1月前
|
分布式计算 大数据 Apache
大数据技术变革正当时,Apache Hudi了解下?
大数据技术变革正当时,Apache Hudi了解下?
25 0
|
1月前
|
SQL OLAP Apache
年度合集!Apache Hudi 技术文章一次看个够
年度合集!Apache Hudi 技术文章一次看个够
42 3
|
2月前
|
SQL 并行计算 大数据
【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)
关于Flink服务的搭建与部署,由于其涉及诸多实战操作而理论部分相对较少,小编打算采用一个独立的版本和环境来进行详尽的实战讲解。考虑到文字描述可能无法充分展现操作的细节和流程,我们决定以视频的形式进行分析和介绍。因此,在本文中,我们将暂时不涉及具体的搭建和部署步骤。
496 3
【大数据技术攻关专题】「Apache-Flink零基础入门」手把手+零基础带你玩转大数据流式处理引擎Flink(基础加强+运行原理)
|
5月前
|
Cloud Native 应用服务中间件 Apache
带你读《Apache Tomcat的云原生演进》——Tomcat的技术内幕和在喜马拉雅的实践(1)
带你读《Apache Tomcat的云原生演进》——Tomcat的技术内幕和在喜马拉雅的实践(1)
117 1
带你读《Apache Tomcat的云原生演进》——Tomcat的技术内幕和在喜马拉雅的实践(1)
|
5月前
|
Cloud Native Java 应用服务中间件
带你读《Apache Tomcat的云原生演进》——Tomcat的技术内幕和在喜马拉雅的实践(2)
带你读《Apache Tomcat的云原生演进》——Tomcat的技术内幕和在喜马拉雅的实践(2)
125 0
带你读《Apache Tomcat的云原生演进》——Tomcat的技术内幕和在喜马拉雅的实践(2)
|
5月前
|
缓存 Cloud Native 应用服务中间件
带你读《Apache Tomcat的云原生演进》——Tomcat的技术内幕和在喜马拉雅的实践(3)
带你读《Apache Tomcat的云原生演进》——Tomcat的技术内幕和在喜马拉雅的实践(3)
117 0
带你读《Apache Tomcat的云原生演进》——Tomcat的技术内幕和在喜马拉雅的实践(3)

热门文章

最新文章

推荐镜像

更多