github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/SRVROOT/htdocs/mod_rewrite/RewriteCond/.htaccess (about) 1 # collection-name mod_rewrite > RewriteCond 2 # setup-makeFile ${TEST_PATH}/pass.html 3 RewriteEngine on 4 5 # ------------------------------------------------------------- 6 # -------------------- Simple Examples ---------------------- 7 # ------------------------------------------------------------- 8 # test-name Simple Exists 9 # request-url ${TEST_URL}/PathExists 10 RewriteCond ^PathExists$ !-f 11 RewriteRule ^(PathExists)$ pass.html 12 13 # test-name One Good One Bad 14 # request-url ${TEST_URL}/OneGoodOneBad 15 # response-status 404 16 RewriteCond ^OneGoodOneBad$ !-f 17 RewriteCond ^OneGoodOneBad$ -f 18 RewriteRule ^(OneGoodOneBad)$ pass.html 19 20 # ------------------------------------------------------------- 21 # ------------------- Regex References ---------------------- 22 # ------------------------------------------------------------- 23 # test-name Refrencing RewriteRule 24 # request-url ${TEST_URL}/RefRewriteRule 25 RewriteCond $1 ^RefRewriteRule$ 26 RewriteRule ^(RefRewriteRule)$ pass.html 27 28 # test-name Refrencing RewriteCond 29 # setup-makeFile ${TEST_PATH}/RefRewriteCond.html 30 # request-url ${TEST_URL}/RefRewriteCond 31 # cleanup-delFile ${TEST_PATH}/RefRewriteCond.html 32 RewriteCond RefRewriteCond ^(RefRewriteCond)$ 33 RewriteRule ^(RefRewriteCond)$ %1.html 34 35 # test-name Refrencing Complex 36 # setup-makeFile ${TEST_PATH}/ReferenceComplex_localhost.html 37 # request-url ${TEST_URL}/ReferenceComplex 38 # cleanup-delFile ${TEST_PATH}/ReferenceComplex_localhost.html 39 RewriteCond ^$1 !-f 40 RewriteCond %{HTTP_HOST} ^(localhost):[0-9]+$ 41 RewriteRule ^(ReferenceComplex)$ $1_%1.html 42 43 # ------------------------------------------------------------- 44 # ----------------- Variables References -------------------- 45 # ------------------------------------------------------------- 46 # test-name Variable ${HTTP_ACCEPT} 47 # request-url ${TEST_URL}/Var_HTTP_ACCEPT 48 RewriteCond %{HTTP_ACCEPT} .*test.* 49 RewriteRule ^(Var_HTTP_ACCEPT)$ pass.html 50 51 # test-name Variable ${HTTP_COOKIE} 52 # request-url ${TEST_URL}/Var_HTTP_COOKIE 53 RewriteCond %{HTTP_COOKIE} ^value$ 54 RewriteRule ^(Var_HTTP_COOKIE)$ pass.html 55 56 # test-name Variable ${HTTP_FORWARDED} 57 # request-url ${TEST_URL}/Var_HTTP_FORWARDED 58 RewriteCond %{HTTP_FORWARDED} ^value$ 59 RewriteRule ^(Var_HTTP_FORWARDED)$ pass.html 60 61 # test-name Variable ${HTTP_HOST} 62 # request-url ${TEST_URL}/Var_HTTP_HOST 63 RewriteCond %{HTTP_HOST} ^value$ 64 RewriteRule ^(Var_HTTP_HOST)$ pass.html 65 66 # test-name Variable ${HTTP_PROXY_CONNECTION} 67 # request-url ${TEST_URL}/Var_HTTP_PROXY_CONNECTION 68 RewriteCond %{HTTP_PROXY_CONNECTION} ^value$ 69 RewriteRule ^(Var_HTTP_PROXY_CONNECTION)$ pass.html 70 71 # test-name Variable ${HTTP_REFERER} 72 # request-url ${TEST_URL}/Var_HTTP_REFERER 73 RewriteCond %{HTTP_REFERER} ^value$ 74 RewriteRule ^(Var_HTTP_REFERER)$ pass.html 75 76 # test-name Variable ${HTTP_USER_AGENT} 77 # request-url ${TEST_URL}/Var_HTTP_USER_AGENT 78 RewriteCond %{HTTP_USER_AGENT} ^value$ 79 RewriteRule ^(Var_HTTP_USER_AGENT)$ pass.html 80 81 # test-name Variable ${DOCUMENT_ROOT} 82 # request-url ${TEST_URL}/Var_DOCUMENT_ROOT 83 RewriteCond %{DOCUMENT_ROOT} ^value$ 84 RewriteRule ^(Var_DOCUMENT_ROOT)$ pass.html 85 86 # test-name Variable ${SCRIPT_GROUP} 87 # request-url ${TEST_URL}/Var_SCRIPT_GROUP 88 RewriteCond %{SCRIPT_GROUP} ^value$ 89 RewriteRule ^(Var_SCRIPT_GROUP)$ pass.html 90 91 # test-name Variable ${SCRIPT_USER} 92 # request-url ${TEST_URL}/Var_SCRIPT_USER 93 RewriteCond %{SCRIPT_USER} ^value$ 94 RewriteRule ^(Var_SCRIPT_USER)$ pass.html 95 96 # test-name Variable ${SERVER_ADDR} 97 # request-url ${TEST_URL}/Var_SERVER_ADDR 98 RewriteCond %{SERVER_ADDR} ^value$ 99 RewriteRule ^(Var_SERVER_ADDR)$ pass.html 100 101 # test-name Variable ${SERVER_ADMIN} 102 # request-url ${TEST_URL}/Var_SERVER_ADMIN 103 RewriteCond %{SERVER_ADMIN} ^value$ 104 RewriteRule ^(Var_SERVER_ADMIN)$ pass.html 105 106 # test-name Variable ${SERVER_NAME} 107 # request-url ${TEST_URL}/Var_SERVER_NAME 108 RewriteCond %{SERVER_NAME} ^value$ 109 RewriteRule ^(Var_SERVER_NAME)$ pass.html 110 111 # test-name Variable ${SERVER_PORT} 112 # request-url ${TEST_URL}/Var_SERVER_PORT 113 RewriteCond %{SERVER_PORT} ^value$ 114 RewriteRule ^(Var_SERVER_PORT)$ pass.html 115 116 # test-name Variable ${SERVER_PROTOCOL} 117 # request-url ${TEST_URL}/Var_SERVER_PROTOCOL 118 RewriteCond %{SERVER_PROTOCOL} ^value$ 119 RewriteRule ^(Var_SERVER_PROTOCOL)$ pass.html 120 121 # test-name Variable ${SERVER_SOFTWARE} 122 # request-url ${TEST_URL}/Var_SERVER_SOFTWARE 123 RewriteCond %{SERVER_SOFTWARE} ^value$ 124 RewriteRule ^(Var_SERVER_SOFTWARE)$ pass.html 125 126 # test-name Variable ${TIME_YEAR} 127 # request-url ${TEST_URL}/Var_TIME_YEAR 128 RewriteCond %{TIME_YEAR} ^value$ 129 RewriteRule ^(Var_TIME_YEAR)$ pass.html 130 131 # test-name Variable ${TIME_MON} 132 # request-url ${TEST_URL}/Var_TIME_MON 133 RewriteCond %{TIME_MON} ^value$ 134 RewriteRule ^(Var_TIME_MON)$ pass.html 135 136 # test-name Variable ${TIME_DAY} 137 # request-url ${TEST_URL}/Var_TIME_DAY 138 RewriteCond %{TIME_DAY} ^value$ 139 RewriteRule ^(Var_TIME_DAY)$ pass.html 140 141 # test-name Variable ${TIME_HOUR} 142 # request-url ${TEST_URL}/Var_TIME_HOUR 143 RewriteCond %{TIME_HOUR} ^value$ 144 RewriteRule ^(Var_TIME_HOUR)$ pass.html 145 146 # test-name Variable ${TIME_MIN} 147 # request-url ${TEST_URL}/Var_TIME_MIN 148 RewriteCond %{TIME_MIN} ^value$ 149 RewriteRule ^(Var_TIME_MIN)$ pass.html 150 151 # test-name Variable ${TIME_SEC} 152 # request-url ${TEST_URL}/Var_TIME_SEC 153 RewriteCond %{TIME_SEC} ^value$ 154 RewriteRule ^(Var_TIME_SEC)$ pass.html 155 156 # test-name Variable ${TIME_WDAY} 157 # request-url ${TEST_URL}/Var_TIME_WDAY 158 RewriteCond %{TIME_WDAY} ^value$ 159 RewriteRule ^(Var_TIME_WDAY)$ pass.html 160 161 # test-name Variable ${TIME} 162 # request-url ${TEST_URL}/Var_TIME 163 RewriteCond %{TIME} ^value$ 164 RewriteRule ^(Var_TIME)$ pass.html 165 166 # test-name Variable ${API_VERSION} 167 # request-url ${TEST_URL}/Var_API_VERSION 168 RewriteCond %{API_VERSION} ^value$ 169 RewriteRule ^(Var_API_VERSION)$ pass.html 170 171 # test-name Variable ${CONN_REMOTE_ADDR} 172 # request-url ${TEST_URL}/Var_CONN_REMOTE_ADDR 173 RewriteCond %{CONN_REMOTE_ADDR} ^value$ 174 RewriteRule ^(Var_CONN_REMOTE_ADDR)$ pass.html 175 176 # test-name Variable ${HTTPS} 177 # request-url ${TEST_URL}/Var_HTTPS 178 RewriteCond %{HTTPS} ^value$ 179 RewriteRule ^(Var_HTTPS)$ pass.html 180 181 # test-name Variable ${IS_SUBREQ} 182 # request-url ${TEST_URL}/Var_IS_SUBREQ 183 RewriteCond %{IS_SUBREQ} ^value$ 184 RewriteRule ^(Var_IS_SUBREQ)$ pass.html 185 186 # test-name Variable ${REMOTE_ADDR} 187 # request-url ${TEST_URL}/Var_REMOTE_ADDR 188 RewriteCond %{REMOTE_ADDR} ^value$ 189 RewriteRule ^(Var_REMOTE_ADDR)$ pass.html 190 191 # test-name Variable ${REQUEST_FILENAME} 192 # request-url ${TEST_URL}/Var_REQUEST_FILENAME 193 RewriteCond %{REQUEST_FILENAME} ^value$ 194 RewriteRule ^(Var_REQUEST_FILENAME)$ pass.html 195 196 # test-name Variable ${REQUEST_SCHEME} 197 # request-url ${TEST_URL}/Var_REQUEST_SCHEME 198 RewriteCond %{REQUEST_SCHEME} ^value$ 199 RewriteRule ^(Var_REQUEST_SCHEME)$ pass.html 200 201 # test-name Variable ${REQUEST_URI} 202 # request-url ${TEST_URL}/Var_REQUEST_URI 203 RewriteCond %{REQUEST_URI} ^value$ 204 RewriteRule ^(Var_REQUEST_URI)$ pass.html 205 206 # test-name Variable ${THE_REQUEST} 207 # request-url ${TEST_URL}/Var_THE_REQUEST 208 RewriteCond %{THE_REQUEST} ^value$ 209 RewriteRule ^(Var_THE_REQUEST)$ pass.html 210 211 # collection-cleanup 212 # cleanup-delFile ${TEST_PATH}/pass.html 213 214 215 #EXAMPLE 216 #https://httpd.apache.org/docs/trunk/rewrite/intro.html