Я хочу скрыть расширение .py скрипта Python, загруженного в веб-браузер, и все еще запускать скрипт. Например: при вводе url.dev/basics/pythonscript
в адресной строке запускается pythonscript.py и отображаются результаты в окне браузера.
- URL-адрес url.dev/basics/pythonscript извлекает статический файл /pythonscript.py
- Браузер по-прежнему отображает URL url.dev/basics//pythonscript
Ввод url.dev/basics/pythonscript.py
РАБОТАЕТ, и отображаются результаты скрипта Python. Я также могу заставить mod_rewrite переписать url.dev/basics/phpscript
в url.dev/basics/phpscript.php
и успешно запустить код PHP за кулисами.
Но url.dev/basics/pythonscript
НЕ перенаправляет на url.dev/basics/pythonscript.py
(я получаю 404 Not Found) .
Справочная информация
A) Переписывание PHP работает: в файле .htaccess, расположенном в url.dev/basics/ РАБОТАЕТ для PHP-скриптов, работает следующее:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /basics/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
</IfModule>
B) Переписывание Python НЕ работает: следующее в .htaccess, расположенном в url.dev/basics/, НЕ работает для скриптов Python (я получаю 404 Not Found) :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /basics/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.py -f
RewriteRule ^(.*)$ $1.py
</IfModule>
C) Я начинающий программист, работающий с Упражнение 2: Ваша первая программа в разделе Основы программной инженерии для интернет-приложений . Я пытаюсь следовать рекомендации использовать среду исполнения, где «Один URL = один файл», но хочу использовать Python, а не PHP. Я понимаю, что это не самый лучший способ создать веб-приложение. Это только соглашение, которое будет использоваться во время начальной части курса, указанного выше.
D) Я настроил среду разработки Virtual Hosts в OS 10.6 Snow Leopard, чтобы я мог получить доступ к своей разработке на url.dev в соответствии с «Hacky Holidays» на adactio.com. Моя версия Python - Python 2.6.1.
E) Я планирую в конечном итоге использовать Django, но сначала хочу по возможности поработать над более простым кодом, чтобы я мог лучше понять, что происходит.
F) В моем httpd.conf есть следующее:
TypesConfig /private/etc/apache2/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler cgi-script .py
и
LoadModule php5_module libexec/apache2/libphp5.so
LoadModule fastcgi_module libexec/apache2/mod_fastcgi.so
G) Моя версия Apache (отображается в журнале сервера после перезапуска сервера): Apache / 2.2.14 (Unix) mod_ssl / 2.2.14 OpenSSL / 0.9.8l DAV / 2 PHP /5.3.1 mod_fastcgi / 2.4.2 настроен - возобновление нормальной работы
С нетерпением ждем любой помощи!