Appendix E

Migration of Apache mod_rewrite Rules to Advanced Policies

271

NetScaler solution

add responder action act_redirect redirect 'HTTP.REQ.URL.PATH.BEFORE_STR("index.php")+HTTP.REQ.URL.QUERY.VALUE ("id")' -bypassSafetyCheck yes

add responder policy pol_redirect '!HTTP.REQ.URL.QUERY.CONTAINS("marker")&& HTTP.REQ.URL.QUERY.VALUE("id").REGEX_MATCH(re/[-a-zA-Z0-9_+]+/) && HTTP.REQ.URL.PATH.CONTAINS("index.php")' act_redirect

bind responder global pol_redirect 100 END

add rewrite action act1 replace 'HTTP.REQ.URL.PATH.SUFFIX(\'/\',0)' '"index.phpmarker&id="+HTTP.REQ.URL.PATH.SUFFIX(\'/\',0)' -bypassSafetyCheck yes

add rewrite policy pol1 '!HTTP.REQ.URL.QUERY.CONTAINS("marker")' act1

bind rewrite global pol1 100 END

Ensuring That a Secure Server Is Used for Selected Pages

To make sure that only secure servers are used for selected Web pages, you can use the following Apache mod_rewrite code or NetScaler Responder policies.

Apache mod_rewrite solution

RewriteCond %{SERVER_PORT} !^443$

RewriteRule ^/?(page1page2page3page4page5)$ https://

www.example.com/%1 [R,L]

NetScaler solution using regular expressions

add responder action res_redirect redirect '"https:// www.example.com"+HTTP.REQ.URL' -bypassSafetyCheck yes

add responder policy pol_redirect '!CLIENT.TCP.DSTPORT.EQ(443)&&HTTP.REQ.URL.REGEX_MATCH(re/ page[1-5]/)' res_redirect

bind responder global pol_redirect 100 END

NetScaler solution using pattern sets

add patset pat1

bind patset pat1 page1 bind patset pat1 page2 bind patset pat1 page3

Page 285
Image 285
Citrix Systems 9.2 manual Ensuring That a Secure Server Is Used for Selected Pages, 271, NetScaler solution