【问题标题】:CakePHP odd redirectCakePHP 奇怪的重定向
【发布时间】:2013-09-17 16:02:48
【问题描述】:

有一个 CakePHP 应用程序。我们需要它在 SSL 上工作。由于 1&1 的 Apache 配置方式(神秘且显然是秘密的),它拒绝对不正确存在的文件的请求。因此,我们通过取消注释来关闭 CakePHP 的漂亮永久链接

Configure::write('App.baseUrl', env('SCRIPT_NAME'));

..in app/Config/core.php

由于应用程序使用漂亮的永久链接链接到自身,我们需要从漂亮的永久链接重定向到非漂亮的。

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/papers/paper$
RewriteRule (.*) (our domain name)/index.php/papers/paper [R=301,L]

但是,当访问应用程序的特定页面/papers/paper 时,服务器将重定向返回到/index.php/kunden/homepages/21/d286159521/htdocs/hr/hr.advancedcarellc.com/index.php/papers/paper,我无法弄清楚。即使禁用任何相关的 .htaac​​cess,也会出现此行为。

但是,运行 grep -r "kunden" 会给出

./lib/Cake/Test/Case/Network/CakeRequestTest.php:       $_SERVER['DOCUMENT_ROOT'] = '/kunden/homepages/4/d181710652/htdocs/joomla';
./lib/Cake/Test/Case/Network/CakeRequestTest.php:       $_SERVER['SCRIPT_FILENAME'] = '/kunden/homepages/4/d181710652/htdocs/joomla/dbhauser/index.php';
./test/lib/Cake/Test/Case/Network/CakeRequestTest.php:      $_SERVER['DOCUMENT_ROOT'] = '/kunden/homepages/4/d181710652/htdocs/joomla';
./test/lib/Cake/Test/Case/Network/CakeRequestTest.php:      $_SERVER['SCRIPT_FILENAME'] = '/kunden/homepages/4/d181710652/htdocs/joomla/dbhauser/index.php';
./test/test/lib/Cake/Test/Case/Network/CakeRequestTest.php:     $_SERVER['DOCUMENT_ROOT'] = '/kunden/homepages/4/d181710652/htdocs/joomla';
./test/test/lib/Cake/Test/Case/Network/CakeRequestTest.php:     $_SERVER['SCRIPT_FILENAME'] = '/kunden/homepages/4/d181710652/htdocs/joomla/dbhauser/index.php';

这似乎暗示重定向是由某种绝对路径/相对路径不匹配引起的,但我想不出任何实际做任何重定向的事情。

我还怀疑 1&1 的某些隐藏配置方式。有人有 1&1 和 CakePHP 的经验吗?

【问题讨论】:

    标签: php .htaccess cakephp redirect ssl


    【解决方案1】:

    您是否使用任何符号链接?

    如果您使用符号链接,有时系统返回的资源路径可能与 URL 不同。

    【讨论】:

    • ls -lR 。 | grep ^l 当您在要搜索的文件夹中时,从命令行运行它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 2011-08-05
    • 2015-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多