Preface: For most small-time Web site developers, you should not be writing modules to handle credit card data, unless you are prepared to spend a fortune (of both time and money) on implementing PCI standards, audits, regulatory compliance, etc. You've been warned!
Now on to your questions:
Assuming you're using Apache, the HTTP and HTTPS versions of your site are declared in VirtualHost directives in your httpd.conf. (RHEL puts the SSL configuration in conf.d directory.) Now, each virtual host can have its DocumentRoot configured individually. So you can choose whether you want them to be the same or not.
Sharing session data between HTTP and HTTPS requires careful attention. In particular, you can't use the same session ID on both HTTP and HTTPS versions of your site--because as soon as the session ID is transmitted over unencrypted HTTP, all session security is essentially lost.