I recently moved my website off of Wordpress and it's now just an HTML site on Linux. I'm having a lot of trouble setting up 301 redirects in my .htaccess file. For some reason pages within folders are not redirecting properly and I'm getting a 500 Internal Server Error.

For example, if I use this, it works fine:
Redirect 301 /old-page http://www.mydomain.com/folder/new-page
But if I try redirecting a page within a folder, I'm getting the 500 error:
Redirect 301 /old-folder/old-page http://www.mydomain.com/folder/new-page
The above is actually adding the old page to the end of the new URL, which I'm assuming what's causing the server error, like this: http://www.mydomain.com/folder/new-page/old-page

The ONLY time it works is when I add the .html extension to the page, like so:
Redirect 301 /old-folder/old-page.html http://www.mydomain.com/folder/new-page
Problem is, many sites aren't linking to the old page URLs using the ".html" (since it was hosted on Wordpress and didn't show the file extension) so I absolutely need to redirect the pages without it.

I also have code in the .htaccess file to remove the ".php" extension of the pages, so "/index.php" is just "/" which may be causing the conflict.

Here is my current .htaccess file with some sample redirects (you'll see the first one works but the other two don't). Any ideas?

<IfModule mod_rewrite.c>

RewriteEngine On

Redirect 301 /solution http://www.erecruit.com/software/enterprise-staffing-software
Redirect 301 /solution/crm http://www.erecruit.com/software/sales-crm
Redirect 301 /solution/matching http://www.erecruit.com/software/recruiting

RewriteBase /

# remove enter code here.php; use THE_REQUEST to prevent infinite loops
RewriteCond %{THE_REQUEST} ^GET\ (.*)\.php\ HTTP
RewriteRule (.*)\.php$ $1 [R=301]

# remove index
RewriteRule (.*)/index$ $1/ [R=301]

# remove slash if not directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /$
RewriteRule (.*)/ $1 [R=301]

# add .php to access file, but don't redirect
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]

ErrorDocument 404 http://www.erecruit.com/404.php