diff --git a/docs/deploying/fastcgi.rst b/docs/deploying/fastcgi.rst
index ebd68560..91824af0 100644
--- a/docs/deploying/fastcgi.rst
+++ b/docs/deploying/fastcgi.rst
@@ -51,6 +51,61 @@ can execute it:
# chmod +x /var/www/yourapplication/yourapplication.fcgi
+Configuring Apache
+------------------
+
+The example above is good enough for a basic Apache deployment but your `.fcgi` file will appear in your application URL e.g. www.example.com/yourapplication.fcgi/news/. There are few ways to resolve it. A preferable way is to use Apache ScriptAlias configuration directive::
+
+
+ ServerName example.com
+ ScriptAlias / /path/to/yourapplication.fcgi/
+
+
+Another way is to use a custom WSGI middleware. For example on a shared web hosting::
+
+ .htaccess
+
+
+ AddHandler fcgid-script .fcgi
+
+ SetHandler fcgid-script
+ Options +FollowSymLinks +ExecCGI
+
+
+
+
+ Options +FollowSymlinks
+ RewriteEngine On
+ RewriteBase /
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteRule ^(.*)$ yourapplication.fcgi/$1 [QSA,L]
+
+
+ yourapplication.fcgi
+
+ #!/usr/bin/python
+ #: optional path to your local python site-packages folder
+ import sys
+ sys.path.insert(0, '/lib/python2.6/site-packages')
+
+ from flup.server.fcgi import WSGIServer
+ from yourapplication import app
+
+ class ScriptNameStripper(object):
+ to_strip = '/yourapplication.fcgi'
+
+ def __init__(self, app):
+ self.app = app
+
+ def __call__(self, environ, start_response):
+ environ['SCRIPT_NAME'] = ''
+ return self.app(environ, start_response)
+
+ app = ScriptNameStripper(app)
+
+ if __name__ == '__main__':
+ WSGIServer(app).run()
+
Configuring lighttpd
--------------------
@@ -84,7 +139,6 @@ root. Also, see the Lighty docs for more information on `FastCGI and
Python `_
(note that explicitly passing a socket to run() is no longer necessary).
-
Configuring nginx
-----------------
@@ -97,7 +151,7 @@ A basic flask FastCGI configuration for nginx looks like this::
location /yourapplication { try_files $uri @yourapplication; }
location @yourapplication {
include fastcgi_params;
- fastcgi_split_path_info ^(/yourapplication)(.*)$;
+ fastcgi_split_path_info ^(/yourapplication)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_pass unix:/tmp/yourapplication-fcgi.sock;
@@ -160,4 +214,4 @@ python path. Common problems are:
.. _nginx: http://nginx.org/
.. _lighttpd: http://www.lighttpd.net/
.. _cherokee: http://www.cherokee-project.com/
-.. _flup: http://trac.saddi.com/flup
+.. _flup: http://trac.saddi.com/flup
\ No newline at end of file