我有一个使用 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 不正确(这会导致诸如this question之类的问题)。
RewriteEngine on
RewriteBase /foo/bar/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.py/$1 [L]
有没有其他方法可以做到这一点,还是我必须使用ScriptAlias
?
看起来这不可能完全使用
.htaccess
,mod_rewrite
因此必须使用ScriptAlias
或在脚本本身中完成。