Apache的ReWrite的应用mod_rewrite模块使用(6)
来源:asp之家 时间:2010-04-04 18:44:00
文档访问的多路复用
说明:
你知道http://www.perl.com/CPAN的CPAN(Comprehensive Perl Archive Network)吗?它实现了一个重定向以提供,全世界的CPAN镜像中离访问者最近的一个FTP站点,也可以称之为FTP访问多路复用服务。CPAN是通过CGI脚本实现的,那么用mod_rewrite如何实现呢?
方案:
首先,我们注意到mod_rewrite从3.0.0版本开始,还可以重写"ftp:"类型。其次,对客户端顶级域名的路径最近的求取可以用RewriteMap实现。利用链式规则集,并用顶级域名作为查找多路复用地图的键,可以这样做:
代码:
RewriteEngine on
RewriteMap multiplex txt:/path/to/map.cxan
RewriteRule ^/CxAN/(.*) %::$1 [C]
RewriteRule ^.+.([a-zA-Z]+)::(.*)$ $$2 [R,L]
##
## map.cxan -- Multiplexing Map for CxAN
##
de ftp://ftp.cxan.de/CxAN/
uk ftp://ftp.cxan.uk/CxAN/
com ftp://ftp.cxan.com/CxAN/
:
##EOF##
依赖于时间的重写
说明:
在页面内容依时间不同而变化的场合,比如重定向特定页面,许多网管仍然采用CGI脚本的方法,如何用mod_rewrite来实现呢?
方案:
有许多类似TIME_xxx的变量可以用在重写条件中,利用STRING和=STRING的类型比较,并加以连接,就可以实现依赖于时间的重写:
代码:
RewriteEngine on
RewriteCond %% >0700
RewriteCond %% <1900
RewriteRule ^foo.html$ foo.day.html
RewriteRule ^foo.html$ foo.night.html
此例使URL foo.html在07:00-19:00时指向foo.day.html,而在其余时间,则指向foo.night.html,对主页是一个不错的功能...
对YYYY过渡为XXXX的向前兼容
说明:
在转变了大批.html文件为.phtml,使文档.YYYY过渡成为文档.XXXX后,如何保持URL的向前兼容(仍然虚拟地存在)?
方案:
只须按基准文件名重写,并测试带有新的扩展名的文件是否存在,如果存在,则用新的,否则,仍然用原来的。
代码:
# backward compatibility ruleset for
# rewriting document.html to document.phtml
# when and only when document.phtml exists
# but no longer document.html
RewriteEngine on
RewriteBase /~quux/
# parse out basename, but remember the fact
RewriteRule ^(.*).html$ $1 [C,E=WasHTML:yes]
# rewrite to document.phtml if exists
RewriteCond %.phtml -f
RewriteRule ^(.*)$ $1.phtml [S=1]
# else reverse the previous basename cutout
RewriteCond % ^yes$
RewriteRule ^(.*)$ $1.html
标签:apache,mod_rewrite,url,rewrite,虚拟主机,服务器
0
投稿
猜你喜欢
雅虎又一高层辞职 PHP之父勒多夫确认离开
2009-11-13 13:48:00
五个途径写一篇符合网站优化的文章
2009-01-19 12:41:00
Godaddy独立ip续费方法和省钱方案
2011-05-10 17:10:00
百度优化经验 百度排名第一仅需20天
2008-12-30 11:15:00
Windows 2000 下的xcopy可以复制文件的安全设置
2009-12-02 19:11:00
新建网站如何提高流量的五个有效步骤
2008-12-25 10:56:00
Centos7搭建sftp服务流程
2023-11-04 11:08:40
vim配置显示行号和语法高亮 即.vimrc文件的配置
2022-04-15 21:03:45
提高内页权重 把内页当成首页来进行优化
2008-12-01 17:29:00
谷歌互动游戏logo-吃豆人(Pac-Man)30周年纪念
2010-05-22 18:36:00
通过网上兼职月赚5000以上的经验分享
2010-05-10 12:33:00
IIS教程:IIS6.0的配置保存与恢复
2009-11-19 12:25:00
Linux使用nohup命令让程序停在后台
2012-01-29 18:23:06
基于Docker搭建Redis主从集群的实现
2022-10-23 05:09:44
华硕进军云运算 开发全球最快超级电脑
2009-10-29 09:02:00
FTP服务器关于权限的问题
2009-01-22 16:06:00
BSD上Apache性能的调整
2010-05-11 18:17:00
博客文章间互相链接的考虑
2007-11-22 21:27:00
新手搜索优化进阶你还应该知道的 关于百度
2008-12-10 12:03:00
网站的规范标准化建设以及robots协议详解
2008-12-02 10:14:00