简体   繁体   中英

Redirect subdirectory of old domain to root folder of new domain via htaccess

I have gone through several domain iterations on a wordpress blog and want to get old links redirected to the new domain. Initially the blog was in

olddomain.com/blog/

Now the blog is at the root level of

 newdomain.com

The old domain is set up as a domain alias of the new domain, it is not forwarded.

If anyone visits the site from

 olddomain.com/blog/

I need that to redirect to

 newdomain.com/

Thanks for your help.

  1. Just create your .htaccess file and put it in the folder where you want to redirect from eg put it in the /blog folder.

  2. Add the following lines to your .htaccess file.

    RewriteEngine On

    RewriteCond %{SERVER_PORT} 80

    RewriteCond %{REQUEST_URI} blog

    RewriteRule ^(.*)$ http://www.newside.com/newblog/ $1 [R,L]

If you are running an apache web server you can just do it vía a 301 redirect in a .htaccess file

  1. Go to you olddomain.com FTP root
  2. Create or edit .htaccess file
  3. Add following lines

     RewriteEngine On RewriteRule ^blog/* http://www.newdomain.com/ [R=301,L] 

But this just redirect anything to the new domain, if you want to be "SEO friendly" (conserve canonical URLs) you will have to define a bit complex rule, take a look here: http://www.ksl-consulting.co.uk/301-redirect-examples.html

If you're not strictly limited to .htaccess and have the option to modify VirtualHost configuration for olddomain.com you can add this to the configuration block:

RewriteEngine on
RedirectMatch 301 ^/blog/(.*) http://newdomain.com/$1

This assumes newdomain.com is a separate VirtualHost and we're leveraging that for domain matching to prevent a redirect loop when the source is in a common folder.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM