我在文件夾名FC下包含應用程序文件夾,index.php等,我在ec2上的ubuntu實例上載了一個cakephp項目。當我上傳文件夾時,它顯示了索引文件夾,因此我直接將FC下的內容上傳到www文件夾,以便它可以自動獲取index.php文件。現在,該網站開始顯示,但平原,沒有CSS或圖像或JS。我看了看錯誤日誌,它的顯示如下:Cakephp應用程序在ec2上顯示不正確的路徑
[週三8月28日14點15分56秒2013] [錯誤] [客戶xxxxxxxxxxxxxxxxx]文件不存在:在/ var/WWW/JS,引用者:http://xxxxxxxxxxxxxxxxxxxxxxxx.compute.amazonaws.com/
[星期三08月28 14時15分56秒2013] [錯誤] [客戶端xxxxxxxxxxxxxxxxx]文件不存在:/無功/網絡/ JS,引用者:http://xxxxxxxxxxxxxxxxxxxxxxxx.compute.amazonaws.com/
顯然,這表明,該路徑被設置不正確。現在我爲我的js和圖像提供的路徑是在webroot文件夾中,所以我在img文件夾中有我的圖像,並且在webroot下的js文件夾中有js,所以我只提供「filename.whatever」路徑,並且在localhost上運行良好。 我該如何設置我的路徑,以便它們指向正確的位置?當我檢查圖像上的元素時,它會顯示路徑/img/xxxx.jpg。這意味着蛋糕會自動進入image/js/css文件夾,這就是我的代碼在本地機器上的工作方式。現在當我手動給出路徑時,如/www/app/webroot/img/xxx.jpg,它會像這樣附加它:img/www/app/...等等。請幫忙!有沒有可用的文件,或者如果有人以前做過這些?
編輯: 的webroot/index.php文件:
if (!defined('DS')) {
define('DS', DIRECTORY_SEPARATOR);
}
define('ROOT', '/var/www/FC');
define('APP_DIR', 'app');
define('CAKE_CORE_INCLUDE_PATH', DS . 'var' . DS . 'www' . DS . 'FC' . DS . 'lib');
的下面是的index.php標準的內容,它不寫入CHANGE
網站可用/默認:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/FC/app/webroot
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
順便說一下,我的Index.ctp重定向到位於LocationsController中的多個鏈接,包括index.ctp,而Cake正在嘗試查找FCController。我是否需要重新命名locationscont到FCcont以匹配約定呢?
* 我剛剛發現,視圖和控制器內部的網址都是這樣開始的'/FC/locations/...etc'。我是否需要從基本路徑提供網址,即'/ var/www/FC ...'? *
超級!它顯示了大部分代碼。但是,我只能訪問index.php文件,並且當我轉到鏈接時,它顯示不正確的路徑,即。 /var/www/myproject/locations/ 相反,它應該顯示 /var/www/myproject/app/locations 這告訴我爲app文件夾設置的位置不正確...我在哪裏更改它?非常感謝! – Anugrah
我不明白你的問題是什麼,你能更具體嗎? – user221931
Myproject文件夾名稱對我來說是FC,因此/ var/www/FC/app是應用程序位置。 現在,當我在core.php中將調試切換爲2並單擊任何鏈接時,顯示以下錯誤: 錯誤:無法找到FCController。 錯誤:在文件中創建以下類FCController:app/Controller/FCController.php <?php class FCController extends AppController { } 我沒有名爲FCController的文件,這不是我的代碼,我該怎麼辦? – Anugrah