【问题标题】:1and1 subdirectory cakePHP installation issue1and1子目录cakePHP安装问题
【发布时间】:2020-10-01 21:15:38
【问题描述】:

我正在 1and1.co.uk 上托管的实时服务器上部署我的应用程序。

我从 8 开始就开始尝试让它工作并且变得疯狂,尝试使用从 cakePHP 网站下载的新版本。

这是我的配置。

指向目录的子域:

subdomain.mydomain.com => /subdirectory

所以我认为第一个问题是,从我的应用来看,这是一个子目录吗?

我不这么认为,但我不确定。

我尝试了数百个 .htaccess 配置,但没有任何效果,我收到 500 错误或以下消息:

解析错误:语法错误,意外的 '=',在第 173 行的 /homepages/41/d201409564/htdocs/hire/lib/Cake/bootstrap.php 中预期为 '('

我认为that topic 可以解决我的问题,但仍然无法正常工作。

感谢您的帮助

【问题讨论】:

  • 似乎您遇到的是 php 错误,而不是 .htaccess 错误。 bootstrap.php 文件中似乎有问题。这很奇怪,因为这是一个无需修改的 cakephp 文件。你修改了吗?你使用的是什么 cakephp 版本?什么php版本?
  • 不,这绝对不是 PHP 错误。这是一个来自全新安装的未触及核心文件。我正在使用 CakePHP 2.4.4 稳定版和 PHP 5.5
  • 只是出于好奇:您在 bootstrap.php 第 173 行有什么?
  • 我已经将此链接放在我的主题中,说它没有解决我的问题。解决方案如下:1and1 共​​享主机强制 php5 + "Options +FollowSymLinks"

标签: .htaccess cakephp


【解决方案1】:

终于可以修复它了,感谢:http://www.grafikart.fr/forum/topic/2351

这是解决方案,诀窍可能是强制执行 PHP5,即使它已在您的服务器上激活(这是我的情况)

/.htaccess

AddType x-mapp-php5 .php
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule    ^$ app/webroot/    [L]
RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

/app/.htaccess

AddType x-mapp-php5 .php
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule    ^$ webroot/    [L]
RewriteRule    (.*) webroot/$1 [L]
</IfModule>

/app/webroot/.htaccess

AddType x-mapp-php5 .php
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>

【讨论】:

  • 为我感到震惊,我已经在 1and1 服务器上安装了 cake,并且站点位于子域上。
  • 这是 my.1and1.com 托管的工作代码..谢谢
【解决方案2】:

如果有人在使用 CakePHP 4.xx 时遇到了困难,这就是我在 IONOS(前 1and1)上运行它的方式。 CakePHP 安装在一个子目录中:

  • (主目录)
    • 子目录 (CakePHP)

/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on

    #the next two lines are only for forwarding to https
    RewriteCond %{SERVER_Port} !=443
    RewriteRule ^(.*)$ https://yourdomain.com/$1 [R=301,L]
    # end of forwarding

    RewriteBase /
    RewriteRule ^(\.well-known/.*)$ $1 [L]
    RewriteRule ^$ webroot/ [L]
    RewriteRule (.*) webroot/$1 [L]
</IfModule>

webroot/.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

【讨论】:

    猜你喜欢
    • 2011-05-15
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    相关资源
    最近更新 更多