Hi Perry. If you're getting a 404 error, it's because your s2Member download links are constructed incorrectly, or because the s2member-files/ directory is in the wrong location.
Please follow this procedure. * s2Member automatically creates the /s2member-files/ directory for you. But if your server permissions will not allow it to do so, you'll need to create it manually. Either way, s2Member will keep you informed about this through friendly alerts in your Dashboard.
Your /s2member-files/ directory should be located here:
/wp-content/plugins/s2member-files
Then, you should upload protected "Members Only" files to that directory:
/wp-content/plugins/s2member-files/myfile.zip
Next, you should create a link on your website, pointing to this protected file, in a special way:
http://www.yoursite.com/?s2member_file_download=myfile.zip
s2member_file_download = location of the file, relative to the /s2member-files/ directory. In other words, just the file name.
If your installation of WordPress is not installed at the root of your domain, but instead, it's installed in a sub-folder. You might have to do something like this: ( point your URL to the WordPress root directory )
http://www.yoursite.com/wordpress/?s2member_file_download=myfile.zip