有一个 CakePHP 应用程序。我们需要它通过 SSL 工作。由于 1&1 的 Apache 配置方式(神秘且显然是 secret 的),它拒绝对不正确存在的文件发出的请求。因此,我们通过取消注释
关闭了 CakePHP 的永久链接。Configure::write('App.baseUrl', env('SCRIPT_NAME'));
..在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
无缘无故我能弄清楚。即使在禁用任何相关的 .htaaccesses 时也会出现此行为。
但是,运行 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 的经验吗?
最佳答案
您正在使用任何符号链接(symbolic link)吗?
如果您使用符号链接(symbolic link),有时系统为资源返回的路径可能与 URL 不同。
关于php - CakePHP 奇数重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18778306/