I want them to redirect to
www.example.com/blog
, but when I open my site it should not redirect me to blog
You want it to "redirect" without redirecting! What you really mean is you want to internally rewrite to /blog
but without externally redirecting.
You can do this with something like the following in .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/blog/
RewriteRule (.*) /blog/$1 [L]
This basically says... if the requested URI does not start with /blog/
then rewrite to include /blog/
at the start. Note the absence of the R
flag on the RewriteRule
directive. The R
flag would result in an external redirect.
The $1
in the RewriteRule
substitution is a backreference to the parenthesised pattern (.*)
in the RewriteRule
pattern.
Note also that I've removed the ?
at the end of the RewriteRule
substitution. This specifically removes any query string from the request. Unless that is required, it should be omitted.
No need to test against %{HTTP_HOST}
or specify IP addresses.