0

我正在设置一个服务器来为运行时和开发版本提供服务。实际上,这只是游戏的一部分,让我解释一下。

我想要的是:

www.mysite.com/site/: The site
www.mysite.com/site-dev-dhert45/: The dev site

它们都在同一个数据库上运行,但“开发”使用新的最终代码,或者只有 debug=True 或者只是激活了 ADMIN。

这就是问题所在。如何?

在这里提供更多细节是目前的情况。

目前,在我的服务器上,我有一个这种类型的 .htaccess:

AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^site/(.*)$ site_Random/django.fcgi/$1 [QSA,L]
RewriteRule ^site-dev-dhert45/(.*)$ site_dev_Random/django.fcgi/$1 [QSA,L]

即我启动了两个完全分离的fcgi 实例。

通过写作,我意识到:

  1. 如果我可以有子域,那会很容易[我没有子域]
  2. django 不提供基本域 [这也可能使事情变得更容易]

我将探索两种方法:

  1. 试图利用 django.sites
  2. 引入一个新的 settings.py 变量“URL_REWRITE_LOCATION”,它将解决实际位置

还有什么建议吗?

在写作时,我意识到子域解决方案实际上解决了我的问题,但在我拥有域之前,我遇到了这个问题。所以我会把这个问题留给我的下一个案例,并作为我自己的练习;)

转到下一个问题,我将在这里发布:如何正确处理应用程序。

4

1 回答 1

0

我建议在子域级别创建开发站点,例如“dev.mysite.com”或遵循“通过默默无闻的安全性”方法随机使用“hidden-dev-a0z9.mysite.com”。然后使用您的 http 服务器 (nginx/apache) 将身份验证直接添加到该服务器/虚拟主机。这将真正简化 url 命名过程并使其非常容易开发,只需在 http 服务器级别更改设置即可。

于 2012-06-07T13:22:15.693 回答