Python 在cloudcontrol上,如何重写URL?
对于在cloudcontrol上运行的Python/Django应用程序,建议采用什么方式重写url,例如将wordpress博客附加到某个url路径,例如example.com/blog/,甚至只是重定向子域Python 在cloudcontrol上,如何重写URL?,python,cloudcontrol,Python,Cloudcontrol,对于在cloudcontrol上运行的Python/Django应用程序,建议采用什么方式重写url,例如将wordpress博客附加到某个url路径,例如example.com/blog/,甚至只是重定向子域 我知道如何使用.htaccess文件来实现这一点——是否有一个等效文件可以在cloudcontrol上工作?我发现了一些使用.htaccess文件的cctrl示例应用程序(例如),但这些都是PHP,它似乎不适用于我的Django应用程序。您有多个选项。让我先解释一下基本概念。通常,clo
我知道如何使用.htaccess文件来实现这一点——是否有一个等效文件可以在cloudcontrol上工作?我发现了一些使用.htaccess文件的cctrl示例应用程序(例如),但这些都是PHP,它似乎不适用于我的Django应用程序。您有多个选项。让我先解释一下基本概念。通常,cloudControl上的每个应用程序都有自己的子域,如
app\u NAME.cloudcontrolled.com
。对这些子域(或来自指向该子域的CNAME)的请求由路由层转发到一个或多个可用于服务请求的容器。每个容器中运行的内容由Buildpack控制。根据每个语言生态系统的首选项(例如PHP与Python),容器中的运行时环境会有所不同。因此,对于PHP,Apache是可用的,而对于Python则不是
选项1:建议的方法是将www.example.com
指向PYTHON\u APP.cloudcontrolled.com
和blog.example.com
指向PHP\u APP.cloudcontrolled.com
选项2:或者,如果您必须使用/blog
而不是博客。
子域,您可以教PHP应用程序容器中运行的Apache只为/blog
的请求提供服务,并将所有其他内容转发到PYTHON\u App.cloudcontrolled.com
选项3:很快你也会有第三个选项,但这还不可用。我们目前正在致力于使pythonbuildpack能够在容器内运行Nginx,并使用WSGI与Python进程通信。(目前Python进程必须监听$PORT并直接为HTTP提供服务)一旦Nginx可用,您还可以将其配置为将/blog
转发到PHP_APP.cloudcontrolled.com
并直接为其他所有内容提供服务
我的建议是使用选项1,因为这样可以使两个应用程序很好地解耦。通过将Python应用程序中的
/blog
永久重定向到blog.example.com
,您可以轻松完成迁移。感谢您的回复!看起来在选项3可用之前,我们将使用子域。