How do I make ugly URLs such as "/index.php?main_page=about_us"? I'm converting a Zen Cart site to Ubercart and need to keep Zen Cart’s ugly URLs for SEO purposes. The site is top ranking on Google Search for their keywords and I’ve been advised that changing the URLs to something cleaner could potentially hurt rankings.

I wonder if there is any way to give a node a URL like http://example.com/index.php?main_page=about_us? 

By default Drupal encodes special characters, so it tries to make my URL /index.php%3Fmain_page%3Dabout_us and I also get a 403 error.
My advice would be to keep Drupal's URL handling as is and simply configure a set of redirects with code 301 in your .htaccess.
That way your URLs will maintain their google ranking.

A useful quote:  


  "Be aware that when moving a page from one URL to another, the search
  engines will take some time to discover the 301, recognize it, and
  credit the new page with the rankings and trust of its predecessor.
  This process can be lengthier if search engine spiders rarely visit
  the given web page, or if the new URL doesn't properly resolve."


This is an excerpt from https://moz.com/learn/seo/redirection, I would recommend reading that whole article, it's quite useful.

And an example of such a redirect:

RewriteCond %{QUERY_STRING}     ^main_page=about_us$     [NC]
RewriteRule ^.*$             /node/1234     [NC,L,R=301]


Hope this helps!