htaccess redirect and duplicate content
public
group: Search Engine Optimization
mangwills - Fri, 2008-05-09 17:54
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

redirects
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
Thanks! Now, I just have to wait for all the old pages to disappear...
How do you do the redirect?
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
This might
This might help
http://vision-media.ca/resources/seo/301-redirect-with-no-www-using-htac...
Tj Holowaychuk
Vision Media - Victoria BC Web Design
Victoria British Columbia Web Design School
Here is my .htaccess file if
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
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.
I think the http:// is not
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ử...
SEO friendly
To make it SEO friendly by sending at "301" redirect I think it should have R=301:
RewriteBase /# Deprecated URL
RewriteRule article/6529 /article/5664 [R=301,L]
Otherwise it will send a "302" redirect and search engines won't update their index.
I'm not sure if it needs the "L" or not, but I have it in all my Drupal URL redirects.
--
My Drupal Tutorials
Thanks
Got it working!
--
http://www.sitemedia.fi