我想默认将我的网站根目录重定向到子网站。例如
http://www.domain.com/ ---> http://www.domain.com/subsite
我已经尝试过这个,但是无论如何这都会匹配所有 URL:
acl is_root path_beg -i /
acl is_domain hdr(host) -i www.domain.com
redirect code 301 location http://www.domain.com/subsite if is_domain is_root
答案1
nlu 几乎完成了,但是is_root
ACL 有点偏离。
使用path_beg
将导致任何和所有路径被匹配,而实际上您只想使用空路径重定向请求。
尝试使用acl is_root path -i /
,因为它仅在路径为 / 时才会匹配。
acl is_root path -i /
acl is_domain hdr(host) -i www.domain.com
redirect code 301 location http://www.domain.com/subsite if is_domain is_root
答案2
您可以检查它是否已经以子站点开始并在重定向中使用否定条件:
acl is_subdomain path_reg ^/subsite/
acl is_root path_beg -i /
acl is_domain hdr(host) -i www.domain.com
redirect code 301 location http://www.domain.com/subsite if is_domain ! is_subdomain
答案3
我遇到了同样的问题,然后我使用下面的 acl 来解决我的问题。
acl is_root path_beg -i /
http-request set-path /subsite if is_root