专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »web服务器 » apacherewrite:Apache的ReWrite的应用 »正文

apacherewrite:Apache的ReWrite的应用

来源: 发布时间:星期日, 2009年1月4日 浏览:12次 评论:0
对象比如对/u/user/foo/执行swwidx超链是这样:

代码:
/ernal/cgi/user/swwidx?i=/u/user/foo/

其缺点是必须同时硬编码超链中区域和CGI路径如果重组了这个区域就需要花费大量时间来修改各个超链

方案:
方案是用个特殊URL格式自动拼装CGI参数:

代码:
RewriteRule ^/([uge])/([^/]+)(/?.*)/\* /ernal/cgi/user/wwwidx?i=/$1/$2$3/
RewriteRule ^/([uge])/([^/]+)(/?.*):log /ernal/cgi/user/wwwlog?f=/$1/$2$3

现在这个搜索到/u/user/foo/超链简化成了:

代码:
HREF="*"

它会被内部地自动转换为

代码:
/ernal/cgi/user/wwwidx?i=/u/user/foo/

如此可以为使用:log超链拼装出CGI参数

从静态到动态
介绍说明:
如何无缝转换静态页面foo.html为动态foo.cgi而不为浏览器/用户所察觉

方案:
只须重写此URL为CGI-script以强制为可以作为CGI-script运行正确MIME类型如此对/~quux/foo.html请求其实会执行/~quux/foo.cgi

代码:
RewriteEngine _disibledevent= 1;

# read URLs one per line from stdin and
# generate substitution URL on stdout
while (<> ) {
s|^foo/|bar/|;
pr $_;
}

这是个作演示例子只是把所有URL /~quux/foo/...重写为/~quux/bar/...而事实上可以把它修改以获得任何你需要功能但是要注意虽然般用户都可以使用可是只有系统管理员才可以定义这样地图

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: