CakePHP 奇怪的重定向
Posted
技术标签:
【中文标题】CakePHP 奇怪的重定向【英文标题】:CakePHP odd redirect 【发布时间】: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
,我无法弄清楚。即使禁用任何相关的 .htaaccess,也会出现此行为。
但是,运行 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 的经验吗?
【问题讨论】:
【参考方案1】:您是否使用任何符号链接?
如果您使用符号链接,有时系统返回的资源路径可能与 URL 不同。
【讨论】:
ls -lR 。 | grep ^l 当您在要搜索的文件夹中时,从命令行运行它。以上是关于CakePHP 奇怪的重定向的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 .htaccess 文件重定向到完整的服务器路径而不是相对路径?
Spring 4 Security + CORS + AngularJS - 奇怪的重定向