Welcome to WebmasterWorld Guest from 184.108.40.206
1. The index page of the old site is index.htm, the new site is index.php. I was told by tech support at my hosting company that they can switch index.php to be the index page on the server at any point. The great majority of my links link to www.mydomain.com. Will switching index pages cause me to lose the PR from these links?
2. I have several links coming into html pages and I want to use 301 redirects from the old pages to the new ones. The new pages are dynamic pages but use URL rewrite module to make them "pretty". The new pages don't end in .html though. Will the pagerank/links still be passed on even though the pages have different names?
If inbound links point to the domain root www.example.com, then changing the technology used to generate that content will make no difference (I am assuming that the address in the location bar stays the same and does not add on the index.html for some reason.) To the degree that links point to www.example.com/index.htm (even links within your domain) you will probably see a dip.
It is possible to configure a server to parse the htm extension as php. This may be the very best solution in your case, especially since Google's handing of 301 redirects still does not seem to be consistent. There's lots of discussion about this in our PHP Forum -- here's one thread:
Parsing PHP with HTML file extension [webmasterworld.com]
As already pointed out, link to home page without index.html (i.e just www.example.com/)
You've already gotten a lot of good advice here, and I'm glad you're not internally linking to /index.htm.
But just in case... if I were you, I'd 301 your old index page to the php version. And definitely add index.php to the front of your DirectoryIndex line in your .htaccess file (or have your hosting provider do this for you).
301'ing your other pages makes sense, too. Prettified dynamic pages should be okay, as long as you keep things consistent and page pointers unique ( e.g., don't use more than one "pretty" URL to refer to the same content).
Yes, PageRank should be passed via the 301s, but it's not going to be instantaneous. Be patient :)