在cloudcontrol上,如何重写URL?

2024-05-29 08:03:27 发布

您现在位置:Python中文网/ 问答频道 /正文

对于运行在cloudcontrol上的Python/Django应用程序,建议采用什么方法重写url,例如将wordpress博客附加到某个url路径,如example.com/博客/,甚至只是重定向子域?你知道吗

我知道如何用一个.htaccess文件来实现这一点-有没有一个等效的方法可以在cloudcontrol上工作?我找到了一些使用.htaccess文件(例如https://github.com/cloudControl/example_apps/blob/master/php/kohana/example.htaccess)的cctrl示例应用程序,但这些都是PHP文件,似乎对我的Django应用程序不起作用。你知道吗


Tags: 文件django方法子域https路径com应用程序
1条回答
网友
1楼 · 发布于 2024-05-29 08:03:27

你有多种选择。让我先解释一下基本概念。通常,cloudControl上的每个应用程序都有自己的子域,如APP_NAME.cloudcontrolled.com。对这些子域(或来自指向该子域的CNAME)的请求由路由层转发到一个或多个可用于服务请求的容器。每个容器中运行的内容由Buildpack控制。根据每个语言生态系统的首选项(例如PHP和Python),容器中的运行时环境是不同的。因此,对于PHP,Apache是可用的,而对于Python则不是。你知道吗

选项1:建议的方法是,例如www.example.com指向PYTHON_APP.cloudcontrolled.comblog.example.com指向PHP_APP.cloudcontrolled.com。你知道吗

选项2:或者,如果您必须使用/blog而不是blog.子域,您可以教导在PHP应用程序容器中运行的Apache只为/blog提供请求,并将其他所有内容转发给PYTHON_APP.cloudcontrolled.com。你知道吗

选项3:很快您也会有第三个选项,但现在还没有。我们目前正在努力使Python buildpack能够在容器内运行Nginx,并使用WSGI与Python进程通信。(当前Python进程必须监听$PORT并直接为HTTP服务)Nginx一可用,您还可以将其配置为转发/blogPHP_APP.cloudcontrolled.com,并直接为其他所有内容提供服务。你知道吗

我的建议是使用选项1,因为这样可以使两个应用程序很好地解耦。通过将Python应用程序中的/blog永久重定向到blog.example.com,您可以使迁移变得轻松。你知道吗

相关问题 更多 >

    热门问题