🔗 功能:内部重定向器 / URL映射
- 目标:提供一个内部URL重写机制,可与ACL一起使用,以替换简单的重定向器。
- 状态:已合并到2-HEAD。移植到3.1已暂停
- 预计完成时间:未知
- 版本:
- 开发者:Gonzalo Arana (2.x),AmosJeffries (3.x)
- 更多:bug 1208
🔗 详细信息
通过url_rewrite_program配置的任何显式的外部URL重写程序都会覆盖内部重定向器,并使用外部程序替代。
🔗 Squid 2.x
3.x的格式与2.x提供的指令不同。本说明详细介绍了2.x版本。
2.x的补丁已纳入主代码,以便在2.8中进行测试和发布。
Squid 2.x 此功能默认启用。
提供了额外的squid.conf选项,可以在不使用重写程序的情况下重写URL。
rewrite_access acl [acl [acl ...]]
rewrite dsturl acl [acl [acl ...]]
有关操作的详细信息,请参见下面的url_map*说明。名称不同,但行为保持不变。
🔗 Squid 3.x
3.x的格式与2.x提供的指令不同。本说明详细介绍了3.x版本。
当Squid使用configure选项构建时
--enable-url-maps
提供了额外的squid.conf选项,可以在不使用重写程序的情况下重写URL。
url_map_access acl [acl [acl ...]]
url_map dsturl acl [acl [acl ...]]
url_map_access控制是否为请求处理url_maps。默认情况下,它们会与url_map列表进行检查。如果指定,只有匹配url_map_access ACL的请求才会进一步处理url_map。
url_map指令按配置顺序处理。
dsturl指定了在所有ACL匹配时产生的URL。如果dsturl为“-”,则重写不起作用。它可以以直接发送给用户的状态码开头。并包含以%开头的格式代码。
🔗 有效的状态码
301:http://.... Means respond with a 301 to user.
302:http://.... Means respond with a 302 to user.
303:http://.... Means respond with a 303 to user.
307:http://.... Means respond with a 307 to user.
🔗 格式代码
格式代码规格
%[#][argument]formatcode
代码
%>a Client source IP address
%la Local IP address (http_port)
%lp Local port number (http_port)
%ts Seconds since epoch
%tu subsecond time (milliseconds, %03d)
%un User name
%ul User login
%ui User ident
%ue User from external acl
%rm Request method (GET/POST etc)
%ru Request URL
%rp Request path
%rh Request host from URL
%rH Request Host header
%rP Request protocol
%et Tag returned by external acl
%ea Log string returned by external acl
%% a literal % character
分类: WantedFeature
导航:站点搜索,站点页面,类别,🔼 向上