As of this writing, after spending many hours fighting with AWS EB's config, I gave up trying to make the static files work the way we all expect and updated my Flask app creation to:
app = Flask(__name__, static_url_path='/s')
This renders urls like /s/scripts/my-script.js and since I always use url_for('static', ...) in my code and templates, everything continued to work outside of AWS as well.
Update on 9/30/2013: I can pretty much guarantee that the staticFiles settings are completely ignored in AWS EB's Python container.
The change I suggested above has the undesirable downside of routing all static file requests through Flask (maybe, more accurately, WSGI.) That's not very hard to fix, though.
Alias /s /opt/python/current/app/static
Allow from all
This config tells Apache to take over any requests for URLs starting with /s, same prefix we chose for our static files, and serve files from our app's static folder.
command: "cp app-httpd.conf /etc/httpd/conf.d"
This file will be used during the app deployment and will copy the new .config file to a directory from which Apache is configure to load all .config files it sees.
The .elasticbeanstalk directory, as far as I understand, keeps local settings for your project. These settings are used by the eb command line tools, including when you run git aws.push. I personally stopped using these tools and wrote my own scripts using their API. In my case, for Python, I use the Boto package. The stuff in .ebextensions are included with your app when it's deployed or updated. It contains settings or commands that will be executed in your app servers upon deployment.