.htaccess - Prevent direct traffic to URL using htaccess -
i need prevent direct access url (http://www.example.com/gated-asset). there way add code htaccess file redirect direct traffic page (http://www.example.com/form)?
i have tried following code in htaccess file, pages, including home page, redirect www.example.com/form.
rewriteengine on rewritecond %{http_referer} !^http://go.example.com [nc] rewriterule .* http://www.example.com/form [r,l] the entire .htaccess file looks (it wordpress site):
# begin wordpress <ifmodule mod_rewrite.c> rewriteengine on rewritebase / rewriterule ^index\.php$ - [l] rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d rewriterule . /index.php [l] </ifmodule> # end wordpress rewriteengine on rewritecond %{http_referer} !^http://go.example.com [nc] rewriterule .* http://www.example.com/form [r,l] i have tried following:
rewriteengine on rewritecond %{http_referer} !^http://go.example.com [nc] rewriterule ^/$ /form/ [r,l] rewriterule ^/$ /gated-asset/ [r,l] as as:
rewriteengine on rewritecond %{http_referer} !^http://go.example.com [nc] rewriterule http://www.example.com/gated-asset http://www.example.com/form/ [r,l]
you need include http:// in referrer check if matching beginning (^). unlike http_host, http_referer requires it. in addition, referring url may include request_uri, , closing expression @ domain prevent working.
rewriteengine on rewritecond %{http_referer} !^http://go.example.com [nc] rewriterule .* http://www.example.com/form [r,l] if don't want include http://, can use following condition instead:
rewritecond %{http_referer} !go.example.com [nc] however, recommend first example used.
also included here r , l flags. r implied if rewrite external resource, better include it.
Comments
Post a Comment