Want to redirect my site all pages to /blog

Want to redirect my site all pages to /blog - If a page has internal and external outgoing links to redirecting URLs, it’s returning 3xx (301, 302, etc.) HTTP status codes standing for redirection. This issue means that the page does not exist on a permanent or temporary basis. It appears on most of the popular web browsers, usually caused by a misconfigured website. However, there are some steps you can take to ensure the issue isn’t on your side. You can find more details about redirecting URLs by reading the Google Search Central overview. In this article, we’ll go over how you can fix the Want to redirect my site all pages to /blog error on your web browser. Problem :


For example my site: www.example.com



When anyone visits my site, I want them all to redirect to www.example.com/blog



But when I open my site it should not redirect me to blog, it should work normally. So how can I achieve the above using .htaccess?



I am going to apply the following code to redirect all pages to blog:



RewriteEngine on
RewriteCond %HTTP_HOST oldwww.example.com$
RewriteRule .* http://www.example.com/blog? [L,R=301]


But how can I specify my IP address in above so I can access all pages and no redirects.


Solution :

To redirect everyone else, apart from your IP address (eg. 123.123.123.123), to the /blog subdirectory then you can use something like the following in .htaccess:



RewriteEngine On
RewriteCond %REQUEST_URI !^/blog/
RewriteCond %REMOTE_ADDR !=123.123.123.123
RewriteRule (.*) /blog/$1 [R=301,L]


If the requested URI does not start with /blog/ and the IP address is not 123.123.123.123 then redirect to include /blog/ at the start.



The $1 in the RewriteRule substitution is a backreference to the parenthesised pattern (.*) in the RewriteRule pattern (ie. the entire URL less the slash prefix - in htaccess).



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.



I don't see any reason to test against %HTTP_HOST (as in your original example). (?)






My initial answer (below) is not what you require, but I'll leave it for completeness.



This version internally rewrites (as opposed to redirecting) all requests to the /blog subdirectory (the URL in the address bar does not change).



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.


We hope that this article has helped you resolve the htaccess, redirects, error in your web browsers. Enjoy browsing the internet uninterrupted!

Comments

Popular posts from this blog

How to redirect to any domain [duplicate]

"302 found" for index page bad for SEO?

Create redirect from url like www.example.us/?p=100&option=