CakePHP:您的服务器上未正确配置URL重写

时间:2011-08-10 16:50:52

标签: php apache cakephp mod-rewrite

当我尝试运行我的项目(使用cakephp框架制作)时,我收到此错误:

您的服务器上未正确配置URL重写。帮我配置它我/不能使用URL重写

我检查了apache httpd.conf文件,一切看起来都不错。我该如何解决这个问题?

感谢。

5 个答案:

答案 0 :(得分:32)

唉。在开始测试Apache配置之前,请确保cake.generic.css文件夹中有app/webroot/css/。这是一个非常误导性的错误消息。

通过检查对cake.generic.css的访问权来间接检查URL重写的状态(仅当URL重写有效时才会找到)。

默认情况下,默认显示默认home.ctp中的红色错误框。然后cake.generic.css中的样式将通过

隐藏它
#url-rewriting-warning {
    display:none;
}

但这意味着如果找不到cake.generic.css文件(例如,因为您删除了它以使用自己的CSS),错误框将隐藏, 即使URL重写工作正常。

基本上,忽略默认主页上的URL重写错误。尝试访问您的某个控制器+视图,看看它是否有效。

答案 1 :(得分:4)

我遇到了同样的问题。原因是数据库配置。我通过在database.php文件中更改它来解决它:

class DATABASE_CONFIG {

    public $default = array(
        'datasource' => 'Database/Mysql',...

到此(罗基斯,请不要复制'...'部分):

class DATABASE_CONFIG {

     public $default = array(
         'driver' => 'mysql',...

注意:我正在研究旧的cakephp 1.3.10

答案 2 :(得分:3)

完成菜谱中的步骤,设置“Apache和mod_rewrite(和.htaccess)”(1.x / 2.x / 3.x)以确保您没有错过任何东西。 (如果失败,我们将需要更多信息。)

答案 3 :(得分:3)

我遇到了同样的问题,配置了所有服务器。我终于找到了这个discussion。当我在app / layouts中创建一个带有一些错误的default.ctp时出现了我的问题。我在打电话:

echo $this->element('fancybox_links');

当该元素未准备好并通过创建该元素解决它。因此,如果您遇到此问题且httpd.conf似乎正确,请检查其他原因。

答案 4 :(得分:0)

当数据库连接或扩展加载出现问题时,我遇到了类似的问题(Windows上的MSSQL)。很可能不是URL重写问题。由于您的phpmyadmin无法正常工作,请检查MySQL配置。