У меня есть веб-сайт, настроенный на Apache для http://www.example.com
находится в /var/www/example.com/
. Для произвольного подпути этого веб-сайта я хотел бы, чтобы все запросы обрабатывались скриптом Python. например все запросы на http://www.example.com/foo/bar/
и ниже будет обрабатываться /var/www/example.com/foo/bar/index.py
.
Один из способов добиться этого - использовать ScriptAlias
в конфигурации / виртуальном хосте Apache, но я бы хотел сделать это в .htaccess
файл, если это возможно, так как я бы предпочел не изменять конфигурацию Apache каждый раз, когда я создаю новый каталог со скриптом Python.
Я пробовал сделать это, используя mod_rewrite
как показано ниже, но у этого есть проблемы в том, что сценарий Python считает, что URL-адрес запроса содержит /index.py/
это означает, что некоторые URL-адреса, которые он генерирует для перенаправления, неверны (это вызывает такие проблемы, как этот вопрос).
RewriteEngine on
RewriteBase /foo/bar/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.py/$1 [L]
Есть ли другой способ сделать это или мне придется использовать ScriptAlias
?
Не похоже, что это возможно, используя чисто .htaccess
и mod_rewrite
поэтому это нужно будет сделать с помощью ScriptAlias
или в самом сценарии.