Forum Moderators: phranque
www.example.com/index.php/this-page has a new URL and requests for this should be redirected to www.example.com/this-page www.example.com/junk-foo-bar-quux does not exist and serves as 404. Requests for example.com/junk-foo-bar-quux, example.com/index.php/junk-foo-bar-quux and www.example.com/index.php/junk-foo-bar-quux get redirected and then get served as 404 after the redirect.
example.com/index.php/something to the internal special-script.php file. You'll also need to add the various exclusions to the htaccess redirects in the same way as explained in that previous post. special-script.php file returns a 301 redirect for page names listed in the array and the 404 status and error page for stuff not listed in the array.
RewriteRule ^index\.php/(goodname1|goodname2|goodname3|goodname4)$ http://www.example.com/$1 [R=301,L]
RewriteRule ^index\.php/(goodname5|goodname6|goodname7|goodname8)$ http://www.example.com/$1 [R=301,L] RewriteRule ^goodname1$ /cache/goodname1.html [L]
RewriteRule ^goodname2$ /cache/goodname2.html [L]
RewriteRule ^goodname3$ /cache/goodname3.html [L] a static copy that will bypass the database entirely
it becomes difficult to maintain a big file
You should run a couple of tests after every change. One full stop or bracket out of place can bring a whole site down.
[edited by: Sgt_Kickaxe at 1:27 pm (utc) on Dec 15, 2012]
Don't for one second believe that pages which aren't indexed can't affect your rankings. This was an eye opening exercise.
- Number of indexed pages remains unchanged
- The pages indexed are the same