301 redirect .htaccess
-
Hi guys
I am working on some 301 redirects on an apache webserver and I'd like a bit of assistance in trying to get a specific type result:
I want all addresses from domaina.com to be redirected to domainb.com in the same structure so domaina.com/folder/file will go to domainb.com/folder/file expect for 2 folders.
ie:DomainA.com --> DomainB.com
except domainA.com/folder1
and domainB.com/folder2Can someone let me know how I can pull this off?
-
It's a while since I've done htaccess rewrites, but I think that this is what you are after:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]What's going on there then:
Line 1 turns the rewrite engine on. Don't repeat this if it is already there.
The next two lines are looking for where the host name matches the old, in either www. or non www. format
The final line then says to take the part of the address represented by the $ in the previous lines and put it at the end of the new domain.
Test it of course, but I think that is what you are after.
-
Cheers for the fast response Matt will test it out however I was looking to also solve the 2nd part of my problem refering to the specific folders:
=== FROM PREVIOUS POST ====
I want all addresses from domaina.com to be redirected to domainb.com in the same structure so domaina.com/folder/file will go to domainb.com/folder/file expect for 2 folders.ie:
DomainA.com --> DomainB.com
except domainA.com/folder1
and domainB.com/folder2Any help is greatly appreciated
thanks
-
Apologies - slightly misread it first time. OK, something like:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteCond %{REQUEST_URI} !^/folder2/?$
RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]We're probably though getting in to the realms of something I should test before I should post, but that is how you put exceptions in.
-
Hi Stilianos, how did this work out for you?