Welcome Guest, Not a member yet? Register   Sign In
301 redirects in .htaccess file
#1

[eluser]Unknown[/eluser]
Hi,

Please ignore spaces in links - for some reason I'm not allowed to use them!

I have recently redesigned a website in CodeIgniter and would now like to be able to create 301 redirects from, for example, http:// www. somesite. com/ page.shtml?abc to http:// www. somesite. com/ xyz.

I read somewhere that using Redirect 301 lines weren't a good idea because of all the RewriteRule lines already in my .htaccess file - getting rid of index.php and ensuring www is used, etc.

So I am trying to redirect using this line, instead:
Code:
RewriteRule ^page.shtml?abc /xyz [R=301]

I continue to get a 404 with this, so I don't think the first part of this RewriteRule is correct.

I have tried moving the line to the top of the .htaccess file, so that the other RewriteRules aren't interfering, but I still get a 404.

Here is my .htaccess in full:
Code:
RewriteEngine on

#Use index.php
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|humans\.txt|sitemap\.xml)
RewriteRule ^(.*)$ index.php/$1 [L]

#Force www. prefix
RewriteCond %{HTTP_HOST} !^www. somesite\. com$ [NC]
RewriteRule ^(.*)$ http:// www. somesite. com/$1 [L,R=301]

#Permanent redirects
RewriteRule ^page.shtml?abc /xyz [R=301]

#This doesn't work, because RewriteRules are executed first
#Redirect 301 /page.shtml?abc http:// www. somesite. com/xyz

The rest of the RewriteRule lines work as expected; it's only the 301s I am having trouble with.

I would be very grateful if someone could help me find the solution.
Many thanks in advance.




Theme © iAndrew 2016 - Forum software by © MyBB