我是ZF的新手,并且在将当前实时网站迁移到新主机时遇到问题。新主机使用IP和用户名作为域在临时dev URL上运行。当我尝试直接导航到(我认为)运行网站的index.php页面时,我得到了404.该网站是否存在没有真正域名的问题? ZF设置是否检查路径/域最初是否设置,现在它没有找到该域?
当前的LIVE站点位于名为/share/
的子目录中。我可以通过FTP访问当前的LIVE站点,并且根目录中似乎没有任何htaccess重定向,以使您进入index.php
文件似乎位于的路径:{{1} }。
我还迁移了数据库并找到了带有DB用户名/密码的/share/clients/public/index.php
和application.ini
文件,并且我已将它们更新到新数据库。我假设这些仍在monster.ini
上运行。
当前开发URL正在IP /用户路径上运行。
示例: localhost
当我导航到:http://1.2.3.4/~username/
时,出现404错误。
如果我在根目录中设置重定向到同一目录,我会得到相同的结果。
关于问题所在的任何想法?我很难过。 提前感谢任何帮助,尤其是快速回复。这个网站需要很快!
在http://1.2.3.4/~username/share/clients/public/index.php
目录中的HTACCESS:
/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/
更新 我修改了HTACCESS文件(一个在根目录,一个在“clients”目录中),现在导致“找不到页面”错误。我觉得我到了某个地方,但显然还没有打到所有气缸上。
//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(),
)));
更新2: 经过进一步的修改和搜索,以下内容让我进入了一个登录页面(对于客户端?),但仍然没有主页。
感谢Artur Michalak在这里找到答案Invalid controller specified() - Zend Framework
当我将以下内容添加到我的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;
文件中时,它将网站解析为登录页面。
application.ini
更新3:
我还将resources.frontController.baseUrl = "/[alias directory]"
目录中的.htaccess
复制到根目录,并将路径更新为COMPLETE路径。
实施例:
如果路径最初为/clients
,我将其更改为/clients/public/index.php
。在/~username/share/clients/public/index.php
和root
目录中都是如此。
答案 0 :(得分:0)
<强>解决:强>
好的,我的情况涉及将Zend Framework安装从一个主机移动到另一个主机。更复杂的是,网站的这一部分不是“前端”,加上主域名托管在一个地方,主要网站托管在另一个地方,然后我的部分托管在第三个位置。
最后,我需要的是让所有 子域 请求指向我的Zend安装,并且一旦所有部件都是到位。
htaccess
规则保留在其中
他们使用移动的Zend框架(即
反转我上面编写的所有编辑内容)就是这样! ...唯一的区别是我将DirectoryIndex
设置为指向位于子文件夹中的索引文件,但除此之外一切都像冠军一样。
多么轻浮的头痛。希望这有助于其他人,并为您节省大量时间。
祝你好运!