2016-07-20 8 views
0

У меня после .htaccess файла -Скрытия имя файл FCGI сценария из URL в Django приложении организовано с FastCGI и апачом

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 работает успешно, но вставляет 'index.fcgi' в URL-адрес, подобный этому:

www.example.com/index.fcgi/admin вместо www.example.com/admin

Как я могу отогнать имя сценария из URL?

Я попытался, следуя инструкциям здесь - http://flask.pocoo.org/docs/0.10/deploying/fastcgi/

Но для колбы, и я не могу получить его работы для Django.

P.S - Я нахожусь в общем плане хостинга без корневого доступа к серверу.

ответ

1

Я просто добавил это в свой файл .htaccess. Этого было достаточно для удаления индекса index.fcgi из URL-адресов.

<IfModule mod_fcgid.c> 
    AddHandler fcgid-script .fcgi 
    <Files ~ (\.fcgi)> 
     SetHandler fcgid-script 
     Options +FollowSymLinks +ExecCGI 
    </Files> 
</IfModule> 

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 
    RewriteBase/
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L] 
</IfModule> 

 Смежные вопросы

  • Нет связанных вопросов^_^