如何在根域中的子文件夹中运行CakePHP应用程序?

时间:2013-10-02 18:16:14

标签: php .htaccess cakephp cakephp-2.4

我正在尝试在子文件夹中设置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

我知道这可能是一件简单的事,但我正在打砖墙。无论我尝试什么,我都无法让它发挥作用!

2 个答案:

答案 0 :(得分:3)

很难理解你的设置,你应该解释一下。但如果我做对了,请检查/app/Config/core.php:

Configure::write('App.fullBaseUrl', 'http://example.com');

答案 1 :(得分:0)

将您的RewriteBase /更改为RewriteBase /version-13/(在您的.htaccess中),您应该立即设置。

当我没有正确设置本地服务器时,我遇到了完全相同的问题,这迫使我将我的应用程序放在主域的文件夹中。

请注意,您可以multiple apps at one core。这对你“版本化”很有用。

聚苯乙烯。快速搜索谷歌后,我发现了以下内容。没有读得那么好,但看起来它也是一样的。 http://cookingwithcakephp.blogspot.nl/2008/04/installing-cakephp-into-subdirectory.html

相关问题