I was running a website on a folder (www.example.com/folder). The new version of the website is live and runs on the root folder.

How should I redirect users who visit the website using the old URLs (either because they bookmarked it or through search engines)?

And in the long term, can I 'clean' the search engines results by removing the old links that show up?

  • Do you have many pages? The best situation is probably going to be to redirect all of them if it is feasible as search engines will redirect and you will keep any link juice gained in the past
    – Vince P
    Commented Jul 12, 2012 at 15:27

2 Answers 2


If you use Apache you could use ModRewrite. Just put this in your .htaccess file in your root directory:

RewriteEngine On
RewriteRule ^/?folder/(.*)$ $1 [NE,R]
  • Thanks, I'm using drupal for this new website and obviously it has its own htaccess file. The problem is that instead of redirecting visitors to the front page it displays a page not found error message and that can be confusing for users. Is there a way to just redirect visitors to the new front page ? Thanks again
    – amstram
    Commented Jul 12, 2012 at 14:57
  • You can add it to Drupal's htaccess file. You should have a look at this as well: templatemonster.com/help/…
    – 0xJoKe
    Commented Jul 13, 2012 at 6:25

You can use a 301 redirect in your htaccess which is the most appropriate to denote that something has moved (mostly search engine wise).

Just put a line like this in the drupal .htaccess or even create a separate .htaccess in the folder you user (if you still have it)

    redirect 301 /your_folder http://www.yourdomain.com/

What I usually do with drupal is have it in a subfolder and when I am ready to move it to the main domain I just create an .htaccess file in the root directory with rewriting and never move the actual files. I have found that this is more convenient especially when wanting to change the main domain content fast (say restore from a backup, without messing with existing files, create a new dir and change .htaccess to point to that).

my .htaccess looks like:

    Options -Indexes
    Options +FollowSymLinks

    RewriteEngine on

    # Redirect all user to WWW
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

    # Serve Drupal 7 from sub directory in web root
    RewriteRule ^$ my_folder/index.php [L]
    RewriteCond %{DOCUMENT_ROOT}/my_folder%{REQUEST_URI} -f
    RewriteRule .* my_folder/$0 [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* my_folder/index.php?q=$0 [QSA]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.