4

我正在尝试在子文件夹中设置一个 CakePHP 应用程序,但从根域运行它,例如,用户请求domain.co.uk,他们在{DOCUMENT_ROOT}/version-13/app/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.

我知道这可能会很简单,但我正在碰壁。无论我尝试什么,我都无法让它工作!

4

2 回答 2

3

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

Configure::write('App.fullBaseUrl', 'http://example.com');
于 2013-10-02T20:18:13.460 回答
0

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

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

请注意,您可以在一个核心上拥有多个应用程序。这可能对您“版本控制”有用。

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

于 2013-10-02T23:02:59.573 回答