Thanks very much for your replies lucy24 and g1smd.
Plenty of food for thought.
Lucy24, why is parsing html for php "messy" and what does that mean? Why is there a problem having a URL like newwidget.html?stock=NNNN?
Is there authoratative evidence that either practice is problematic? I ask because for years my site has been parsing pages for html and using a database driven page to generate a web page for a product based on its stock number. In other words I call page newwidget.html passing the stock number=NNNN. PHP code in newwidget.html uses the stock number to look up the product's details and creates the HTML to show a page about the product.
These pages rank very well in search engines. So, I am unclear why you disapprove.
I have another site that uses URL rewriting to create keyword type URLs. Those pages do no better in search engine results or product sales. That is a pain in the neck as it means every product needs a unique product name otherwise duplicate urls occur. Hence I conclude having keywords in the URL is not that important.
So as I do not see a problem with my approach, I do not want to retain my old style page names. It makes the site messy having lots of different URL naming formats. So I want to do 301 to the new page URL.
I did figure out how to use RedirectMatch to do what I originally wanted. This seems to work fine:
RedirectMatch 301 /widget_(.*).htm http:/
/example.com/new_widget?stock_no=$1
Please let me know if I am committing any hideous errors or have overlooked any major problems with what I am doing.
Thanks
[edited by: tedster at 5:27 am (utc) on Apr 8, 2013]
[edit reason] switch to example.com [/edit]