【发布时间】:2013-10-09 05:57:42
【问题描述】:
我正在尝试在子文件夹中设置一个 CakePHP 应用程序,但从根域运行它,例如,用户请求 domain.co.uk 并且他们在 {DOCUMENT_ROOT}/version-13/app/webroot 获得 webroot。
托管设置不允许我更改文档根目录,因此我在根目录中有以下 .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ version-13/app/webroot/ [L]
RewriteRule (.*) version-13/app/webroot/$1 [L]
</IfModule>
这似乎完成了这项工作。但是,Cake 检测到子文件夹并将其添加到它创建的所有 URL(例如,$this->Form->create() 操作等),所以我最终将表单发布到 domain.co.uk/version-13/signup 而不是 domain.co.uk/signup。
我知道这可能会很简单,但我遇到了难题。无论我尝试什么,我都无法让它工作!
【问题讨论】:
-
你为什么要在不同的地方上传你的版本?你看过version control吗?例如:git 或 subversion?
-
我正在使用 Git 进行版本控制,这更适用于部署。我在这台主机上可以做的事情有限(并且没有 VPS 选项)所以我的想法是我可以
git archive master,将新版本上传到单独的文件夹中,进行测试然后切换路径实现零停机升级。 -
啊,好吧。听起来很有创意:)
标签: php .htaccess cakephp cakephp-2.4