Can a bad.htaccess or rewrite rule cause a 500?
Yes, on Apache, a single invalid directive in .htaccess (or a missing mod_rewrite) returns HTTP 500 Internal Server Error on every URL, and the cause shows up in the Apache error log rather than exception.log. We diff your .htaccess against a clean Magento copy, find the offending RewriteRule or unsupported directive, and fix it. On nginx the equivalent is a broken nginx.conf.sample include, same approach.