Ich habe eine einfache Anwendung in Python/Flask, die eine Home-URL (www.site.com/
) hat erstellt. Ich habe einen HostGator shared Account, um es zu hosten, so habe ich nur Zugriff auf .htaccess
, aber keine anderen Apache-Konfigurationsdateien.Wie kann ich ein FastCGI-Skript in der Root-URL (/ - ohne Pfad) ausführen?
Ich habe ein FastCGI-Skript eingerichtet, um die Anwendung auszuführen (nach these instructions), aber sie benötigen die URL, um einen /index.fcgi
oder einen anderen Pfad zu haben. Kann ich den Root-Pfad (/) direkt vom FastCGI-Skript bereitstellen lassen? Auch Ordner wie /static/
und sollten stattdessen von Apache bedient werden.
Was ich jetzt als .htaccess
haben ist:
AddHandler fcgid-script .fcgi
DirectoryIndex index.fcgi
RewriteEngine On
RewriteBase/
RewriteRule ^index.fcgi$ - [R=302,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.fcgi/$1 [R=302,L]
Ich bin nicht sicher, aber ich denke, die Apache-Version 2.2 ist.
Während dies theoretisch die Frage beantworten können, [es wäre vorzuziehen] (// meta.stackoverflow.com/q/8259), um die wesentlichen Teile der Antwort hier einzubeziehen, und geben Sie den Link als Referenz an. – manetsus
Nach ein paar Änderungen war dies der richtige Weg. Die Anwendung fügte jedoch an jeden 'url_for()' Aufruf '/ index.fcgi' an (habe ich erwähnt, dass ich Flask verwende?). Aber ich habe den 'ScriptNameStripper' gefunden, der in der offiziellen Flask-Site beschrieben ist: http://flask.pooco.org/docs/0.11/deploying/fastcgi/#configuring-apache –