htaccess redirect and duplicate content

Events happening in the community are now at Drupal community events on www.drupal.org.
mangwills's picture

Hi! I'm new to Drupal, but am trying out the tips I see in this group. They've been very helpful.

I recently just moved my old site, www.amici.com.ph to Drupal. I still have to learn how to do themes soon. The old links that were indexed by google, I used htaccess to redirect to relevant pages of the new website. Since the old links redirect to new pages, won't they be treated as pages with duplicate content?

Thanks!

William

Comments

redirects

Z2222's picture

If Google spiders the new pages before it finds the redirects by re-spidering the old pages then Google will see duplicate content... but I don't think it's a major issue to worry about. Once Google hit's the 301 redirects they should take the old pages out of the index.

redirects

mangwills's picture

Thanks! Now, I just have to wait for all the old pages to disappear...

How do you do the redirect?

wpanssi's picture

I'm trying to do the redirect from mysite.com/node/100 to mysite.com. Here's the line I use in .htaccess
Redirect 301 /node/100 http://mysite.com

But nothing seems to happen, I just get Page not found error.
I used instructions from here: http://groups.drupal.org/node/2416#comment-6614
Is there something wrong with the redirect command?

--
http://www.sitemedia.fi

Here is my .htaccess file if

wpanssi's picture

Here is my .htaccess file if it helps (my redirect is at the end of the file):

#
# Apache/PHP/Drupal settings:
#

# Protect files and directories from prying eyes.
<FilesMatch ".(engine|inc|info|install|module|profile|po|sh|.sql|theme|tpl(.php)?|xtmpl)$|^(code-style.pl|Entries.|Repository|Root|Tag|Template)$">
  Order allow,deny
</FilesMatch>

# Don't show directory listings for URLs which map to a directory.
Options -Indexes

# Follow symbolic links in this directory.
Options +FollowSymLinks

# Customized error messages.
ErrorDocument 404 /index.php

# Set the default handler.
DirectoryIndex index.php

# Override PHP settings. More in sites/default/settings.php
# but the following cannot be changed at runtime.

# PHP 4, Apache 1.
<IfModule mod_php4.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
</IfModule>

# PHP 4, Apache 2.
<IfModule sapi_apache2.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
</IfModule>

# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
  php_value magic_quotes_gpc                0
  php_value register_globals                0
  php_value session.auto_start              0
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_value mbstring.encoding_translation   0
</IfModule>

# Requires mod_expires to be enabled.
<IfModule mod_expires.c>
  # Enable expirations.
  ExpiresActive On
  # Cache all files for 2 weeks after access (A).
  ExpiresDefault A1209600
  # Do not cache dynamically generated pages.
  ExpiresByType text/html A1
</IfModule>

# Various rewrite rules.
<IfModule mod_rewrite.c>
  RewriteEngine on

  # If your site can be accessed both with and without the 'www.' prefix, you
  # can use one of the following settings to redirect users to your preferred
  # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
  #
  # To redirect all users to access the site WITH the 'www.' prefix,
  # (http://example.com/... will be redirected to http://www.example.com/...)
  # adapt and uncomment the following:
  # RewriteCond %{HTTP_HOST} ^example.com$ [NC]
  # RewriteRule ^(.)$ http://www.example.com/$1 [L,R=301]
  #
  # To redirect all users to access the site WITHOUT the 'www.' prefix,
  # (http://www.example.com/... will be redirected to http://example.com/...)
  # uncomment and adapt the following:
  # RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
  # RewriteRule ^(.
)$ http://example.com/$1 [L,R=301]

  # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
  # VirtualDocumentRoot and the rewrite rules are not working properly.
  # For example if your site is at http://example.com/drupal uncomment and
  # modify the following line:
  # RewriteBase /drupal
  #
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
  RewriteBase /
 
  # Rewrite old-style URLs of the form 'node.php?id=x'.
  #RewriteCond %{REQUEST_FILENAME} !-f
  #RewriteCond %{REQUEST_FILENAME} !-d
  #RewriteCond %{QUERY_STRING} ^id=([^&]+)$
  #RewriteRule node.php index.php?q=node/view/%1 [L]

  # Rewrite old-style URLs of the form 'module.php?mod=x'.
  #RewriteCond %{REQUEST_FILENAME} !-f
  #RewriteCond %{REQUEST_FILENAME} !-d
  #RewriteCond %{QUERY_STRING} ^mod=([^&]+)$
  #RewriteRule module.php index.php?q=%1 [L]

  # Rewrite current-style URLs of the form 'index.php?q=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
 
  Redirect 301 /node/100/ http://mysite.com
 
</IfModule>

# $Id: .htaccess,v 1.81.2.4 2008/01/22 09:01:39 drumm Exp $

--
http://www.sitemedia.fi

The standard 301 redirect

icelink's picture

The standard 301 redirect code does not work in Drupal when running clean URLs. Instead you will need to rewrite the URL by adding the following code below the RewriteEngine command in your .htaccess file.

RewriteBase /
RewriteRule ^old/URL/path$ http://yourdomain.com/new/path [R=301,L]

The old path is the relative url off the root and the new path is the absolute url you want to redirect to including the domain. Make sure that this code is placed above Drupal's clean url rewrite commands.

plnolan

plnolan's picture

When I recently moved a static site to a Drupal site I struggled with conflicting information on 301 until I found the rule icelink shares above.

RewriteBase /
RewriteRule ^old/URL/path$ http://yourdomain.com/new/path [R=301,L]

One additional note I found it worked when placed after the rewrite statement and before any other redirects.

Confused about standard 301 redirect

mickster917's picture

I just can't seem to grasp how I customize this code for my situation. I own a new domain now and just use the old domain to point to the IP where the new domain resolves. I work for a municipal government, and we just jumped on the .gov bandwagon. Without calling my city out specifically, here is my example:

old domain: http://www.examplecity.com
new domain: http://city.in.gov

What should my code look like?? Any help with this would be greatly appreciated! I've been working on this for days now!

Thanks in advance!!

Simple redirect

mikeytown2's picture

Place this close to the top in terms of other rewrite rules.

RewriteCond %{HTTP_HOST} examplecity.com$ [NC]
RewriteRule ^(.)$ http://city.in.gov/$1 [L,R=301]

I think the http:// is not

jcisio's picture

I think the http:// is not necessary. Here is a line in my .htaccess, please note that the "/" at the beginning is important, if not it will search for a file.

RewriteBase /

# Deprecated URL
RewriteRule article/6529 /article/5664 [R]

--
[vi] www.thongtincongnghe.com
Trang tin điện tử về CNTT, Viễn thông, Điện tử...

 

Z2222's picture

 

Thanks

pmarreddy's picture

I am getting a strange problem with 301 redirect it the code is working for with www in the link and not working for with out www

RewriteBase /
RewriteRule ^api$ http://example.com/topic/api [R=301,L]

if i type http://www.example.com/api it works but if i do http://example.com/api it doesnt work \

Adv thanks
prasanth
http://learna2z.com

Thanks All!

stephaniefuda's picture

Thanks for the help on this thread, i just used the info here to do a 301.

I also places the command after my rewrite statement and before any other redirects, and it worked like a dream.

help with redirect code!

cblanglois's picture

Hi,

My redirect is not working. What am I doing wrong? Help would be greatly appreciated!

This below is my .htaccess code

===================================

# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:

# To redirect all users to access the site WITH the 'www.' prefix,
# (http://example.com/... will be redirected to http://www.example.com/...)
# uncomment the following:

# RewriteCond %{HTTP_HOST} ^oldnursewebsite.com$ [NC]
# RewriteRule ^(.)$ http://www.newnursewebsite.com/$1 [L,R=301]
#
# To redirect all users to access the site WITHOUT the 'www.' prefix,
# (http://www.example.com/... will be redirected to http://example.com/...)
# uncomment the following:
# RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC]
# RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]

Uncomment?

kristen pol's picture

You need to uncomment the lines that you want to be used (get rid of the "#" at the beginning of the line) and it needs to be the same base domain if you want to redirect from non-www domain to www domain, e.g.

RewriteCond %{HTTP_HOST} ^newnursewebsite.com$ [NC]
RewriteRule ^(.)$ http://www.newnursewebsite.com/$1 [L,R=301]

Reply to Uncomment

cblanglois's picture

Thanks, Kristen. I do want to move from http://www.oldnursewebsite.com to http://www.newnursewebsite.com. These are two entirely different domain names, both with www.

redirect

mikeytown2's picture

Try this

RewriteCond %{HTTP_HOST} ^newnursewebsite.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^oldnursewebsite.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.oldnursewebsite.com$ [NC]
RewriteRule ^(.)$ http://www.newnursewebsite.com/$1 [L,R=301]

It's saying if the host is newnursewebsite.com OR oldnursewebsite.com OR www.oldnursewebsite.com 301 redirect to www.newnursewebsite.com

redirect

cblanglois's picture

Thank you very much for this Mike, but it still doesn't work. :(

redirect

cblanglois's picture

I wonder if it's because the website that I want to have it redirected (newnursewebsite.com) has been hitched on the same DNS server as the other website (oldnursewebsite.com)???

Search Engine Optimization (SEO)

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week