2014-07-08 123 views
0

我在CentOS上安裝CakePHP 2.4.3時出現問題(在2.5.2上也試過,同樣的問題)。可以從cakephp訪問(讀取/寫入)數據庫。CentOS 6上的CakePHP 2.x

嘗試過去幾個小時內修復它,但這裏是我堅持:

1)此錯誤不斷出現。 「URL重寫未在服務器上正確配置」 - 我已檢查,並且該文件可從該站點訪問,「www.mysite.com/cake/app/webroot/css/cake.generic.css」 - 我已經更新httpd.conf中有 「的LoadModule rewrite_module模塊/ mod_rewrite.so」 - 該文件 「的.htaccess」 在3個文件夾:

/.htaccess

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ app/webroot/ [L] 
    RewriteRule (.*) app/webroot/$1 [L] 
</IfModule> 

/app/.htaccess

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ webroot/ [L] 
    RewriteRule (.*) webroot/$1 [L] 
</IfModule> 

/app /根目錄/ htaccess的

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
</IfModule> 

的httpd.conf

<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
</Directory> 
<Directory /var/www> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order Allow,Deny 
    Allow from all 
</Directory> 

2)我的控制器不能被直接調用。它需要「index.php」在那裏。

例子:

Works on : "www.mysite.com/cake/index.php/grabs/myFunction" 
Unable to work on : "www.mysite.com/cake/grabs/myFunction" 

請指教。

+1

允許''mod_rewrite''工作Apache的''AllowOverride''指令必須設置爲''All''作爲cake的目錄,是嗎? – user221931

+0

是的,'allowOverride'在那裏。我在上面的問題中添加了httpd.conf部分。謝謝。 – Britc

+0

這可能聽起來很愚蠢,但您是否重新啓動了您的Web服務器? – user221931

回答

0

對於像我這樣的人來說,這是一個重要的通知,他像這個人一樣掙扎着解決問題。 此行爲的一個可能原因是當兩個或更多CakePHP應用程序駐留在一臺服務器上時。無論如何,嘗試改變這一行:

// Prefix each application on the same server with a different string, to avoid Memcache and APC conflicts. 
$prefix = 'myapp_'; 

從你/app/Config/core.php的東西不同,比方說:

$prefix = 'coolRpgGame_'; 

這真的救了我的生活,它立即工作。