Citrix Systems Network Router 9.2 User Manual

Page of 302
 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 ^/?(page1|page2|page3|page4|page5)$  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