CakePHP 和 PHP 5.4 Bult-In Web Server:错误的 URL 请求(404 错误)


CakePHP and PHP 5.4 Bult-In Web Server: wrong URL request (404 Error)

我正在使用内置的 PHP 5.4 Web 服务器测试 CakePHP 2.1.2,发现了一个问题:我没有更改任何 .htaccess,但有错误的 URL 请求,这导致了 404 错误。

我在/app/webroot 启动 PHP 5.4 服务器:

$ php -S localhost:8080

对索引(http://localhost:8080)的请求正常,一切正常。但是当我访问某些控制器/操作(在我的情况下 http://localhost:8080//sections/about/)时,texto 显示正常,但对资源(css、js 和图像)的请求失败。

以下是服务器的一些日志:

请求索引时:...

请求控制器/操作时:...

对"css/style.css"的请求前缀必须是"/",但它是发送的"/index.php/section/"

/

app/webroot 的 .htaccess 是(CakePHP 默认的 .htaccess):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]

有人知道解决方案吗?

内置服务器不支持 .htaccess 文件。

你应该在Cakephp中关闭URL重写,至少在开发时是这样。

也许,在黑客方面,你可以从jaytaph HtRouter项目中找到乐趣,他声称自己是"PHP 5.4内部Webserver .htaccess解析器和解释器"。

希望这有帮助!