我是ZF的新手,並且遇到將當前活動站點移動到新主機時出現問題的情況。新主機正在使用IP和用戶名作爲域的臨時開發網址上運行。當我嘗試直接導航到(我認爲)運行該網站的index.php頁面時,我得到了404。該網站是否存在沒有真正域名的問題? ZF是否設置爲檢查最初設置的路徑/域,現在沒有找到該域?將Zend Framework站點移動到新主機 - 「發生錯誤頁面未找到」
當前LIVE網站安裝在名爲/share/
的子目錄中。我可以通過FTP訪問當前的LIVE站點,並且在根目錄中似乎沒有任何htaccess重定向,以使您找到index.php
文件似乎位於的路徑:/share/clients/public/index.php
。
我也遷移了數據庫,發現了帶有DB用戶名/密碼的application.ini
和monster.ini
文件,並且我已將它們更新爲新的數據庫。我假設這些仍然在localhost
上運行。
當前開發URL正在IP /用戶路徑上運行。
例:http://1.2.3.4/~username/
當我瀏覽到:http://1.2.3.4/~username/share/clients/public/index.php
,我得到一個404錯誤。
如果我在根目錄中設置重定向到同一目錄,我會得到相同的結果。
關於問題出在哪裏的任何想法?我被困住了。 感謝您提供任何幫助,尤其是快速回復。這個網站需要升級!
的.htaccess IN THE /clients/
目錄:
AddType application/x-httpd-php53 .php
SetEnv APPLICATION_ENV production
RewriteEngine On
RewriteRule ^\.htaccess$ - [F]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /clients/public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/clients/public/.*$
RewriteRule ^(.*)$ /clients/public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /clients/public/index.php [NC,L]
的index.php在/public/
目錄:
//This line changes the timeout. //Give it a value in seconds (3600 = 1 hour)
set_time_limit(3600);
//Set these amounts to whatever you need.
ini_set("post_max_size","8192M");
ini_set("upload_max_filesize","8192M");
//Generally speaking, the memory_limit should be higher //than your post size. So make sure that’s right too.
ini_set("memory_limit","8200M");
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
// Define path to uploads directory
defined('APPLICATION_UPLOADS_DIR') || define('APPLICATION_UPLOADS_DIR', realpath(dirname(__FILE__) . '/../files'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
//get_include_path(),
)));
UPDATE: 我用的.htaccess文件修修補補(一個在根目錄,一個在「客戶」目錄中),並且現在導致出現「頁面未找到」錯誤。我覺得我正在某個地方,但顯然沒有擊中所有的氣瓶。
An error occurred Page not found
Exception information:
Message: Invalid controller specified (~username)
Stack trace:
#0 /home3/username/public_html/share/clients/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#1 /home3/username/public_html/share/clients/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#2 /home3/username/public_html/share/clients/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#3 /home3/username/public_html/share/clients/public/index.php(47): Zend_Application->run()
#4 {main}
Request Parameters:
array (
'controller' => '~username',
'action' => 'index',
'module' => 'default',
)
o;io;
更新2: 進一步修補和搜索之後,下面已經得到我到登錄頁面(客戶端?),但仍然沒有主頁。
由於阿圖爾·米夏拉克在回答中找到這裏Invalid controller specified() - Zend Framework
當我增加了以下我application.ini
文件,它得到了現場解決到登錄頁面。
resources.frontController.baseUrl = "/[alias directory]"
UPDATE 3: 我也複製在/clients
目錄到根中發現的.htaccess
,和更新的路徑的完整路徑。
示例: 如果路徑最初是/clients/public/index.php
,我將其更改爲/~username/share/clients/public/index.php
。這在root
和/clients
目錄中都是如此。
你檢查了你的權限嗎?看看chmod。確保萬維網數據(或任何Apache正在運行),並確保它可以讀取它。 –
對於index.php,文件權限設置爲644 ...是你說的那個嗎? – gtr1971
嘗試將其設置爲777,看看是否修復它。不要把它留在777。 –