First time this has happend to me and I can't figure out how to fix my 301 redirects. The redirect is appending the rule to the end of destination/new url:
Redirect 301 /products.htm http//www.domain.com/products/
Redirects to:
http://www.domain.com/products/?/products.htm
The site is on a MediaTemple (dv) 4.0. My .htaccess
file is:
## BEGIN Expression Engine Rewrite
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteRule ^(.*)$ /index.php?/$1 [L]
# END Expression Engine Rewrite
# Redirect to www
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
#
# Old site URL 301 Redirects
#
Redirect 301 /products.htm http://www.domain.com/products/
# plus many more...
UPDATE:
Just wanted to add what I've tried with no success:
`$config['uri_protocol'] = 'AUTO'; // tried all 5 options. nothing seemed to change`
I tried appending ?
to the end of the redirect, which removed the appending rule, but kept the ?
:
Redirect 301 /products.htm http://www.domain.com/products/?
I have successfully setup redirects before in EE1, and referenced a site & noticed the rewrite rule for removing the index.php
file didn't have the ?
at the end. Is this something specific to EE2 or the server envirnoment as when I remove that I get the no input file specified
error:
# EE1
RewriteRule ^(.*)$ /index.php/$1 [L]
?
in the rewrite.