次の.htaccessファイルがあります -
AddHandler fcgid-script .fcgi
DirectoryIndex index.fcgi
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.fcgi$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.fcgi/$1 [L]
</IfModule>
および次のindex.fcgiファイル:
#!/home/username/mydjango/bin/python
import os
import sys
from flup.server.fcgi import WSGIServer
from django.core.wsgi import get_wsgi_application
sys.path.insert(0, "/home/username/mydjango")
os.environ['DJANGO_SETTINGS_MODULE'] = "testproject.settings"
WSGIServer(get_wsgi_application()).run()
Django アプリは正常に実行されますが、次のように URL に「index.fcgi」が挿入されます。
www.example.com/admin の代わりに www.example.com/index.fcgi/admin
URL からスクリプト名を削除するにはどうすればよいですか?
ここの指示に従ってみました - http://flask.pocoo.org/docs/0.10/deploying/fastcgi/
しかし、それはフラスコ用であり、Django では実行できません。
追伸 - 私は、サーバーのルート アクセスがない共有ホスティング プランを使用しています。