Apache httpd-vhosts 中的 flask url 路径

flask url path in Apache httpd-vhosts

使用烧瓶和mod_wsgi。

Apache v2.4 httpd-vhost.conf 下面:

<VirtualHost *:80>
    WSGIScriptAlias /admin /home/service/admin
    WSGIDaemonProcess admin user=operators processes=10 threads=5 

    WSGIApplicationGroup %{RESOURCE}

   <Directory /home/service/admin>
      WSGIProcessGroup admin
      Require all granted
    </Directory>

</VirtualHost>

我将 url-path 设置为 /admin

Ajax html 中的代码访问 /api/store/list:

function getStoreList(){
    $.ajax({
        url:'/api/store/list',
        type:'POST' 
    });
}

如何在不修改 url(/api/store/list=>/admin/api/store/list) 的情况下访问 /admin/api/store/list?

在 Apache 中使用 mod_rewrite? Flask 中还有其他内容吗?

Javascript 确实应该使用包括挂载点在内的完整 URL 路径。如果你不能处理那个,那么为什么首先将你的 WSGI 应用程序安装在一个子 URL 上?

如果由于某种原因您无法使代码使用正确的东西,请尝试在您拥有的东西之外添加:

WSGIScriptAlias /api/ /home/service/admin/api/

是的,'/api/' 作为最后一个参数被添加到 WSGI 脚本文件路径的末尾。这是必需的,因此代码认为它仍然安装在网站的根目录下,因此 URL 映射会看到完整的“/api/store/list”。