我开始使用netbeans + zend开发应用程序。我有一个主机并在那里上传了项目文件,但我还没有设法将请求从根目录重定向到公共子目录。我得到每个请求的zend项目的404错误页面。 有人能帮助我吗?
插件:
我使用以下htaccess重定向(wwwroot / .htaccess):
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [NC,QSA]
在公共文件夹中是项目的默认(生成)htaccess(wwwroot / public / .htaccess):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
zend项目在wwwroot中,我没有访问apache配置,只能创建htaccess文件。 zend框架文件位于wwwroot / library / zend中。项目文件包含在localhost中,但不在我的godaddy主机上。 :S
在localhost上,我按照每个请求获取了一个404页面,在godaddy上我收到以下错误:
警告: require_once(Zend的/ Application.php) [function.require-once]:失败了 open stream:没有这样的文件或目录 在 /home/content/14/7811914/html/public/index.php 第18行
如果我删除了wwwroot / htaccess,并使用“http:// localhost / public /”我得到了zend fw的开放页面,所以它可以工作,没有重定向,所以我想在localhost我有路由问题而我必须覆盖bootstrap或某个地方的东西...在godaddy我不知道问题是什么...也许小写文件名,我尝试用tolowercase函数调用扩展自动加载模块...(明天。 ..)
答案 0 :(得分:0)
您必须使用新文档根配置您的网络服务器。
访问.httpd.conf时,您可以为您的域设置新文档根目录。
使用confixx时,您会在管理面板中的“域”下找到它。
使用plesk时,您可以在名为vhost.conf的域名配置文件中编辑vhost特定配置
<Directory /var/www/vhosts/yourdomain.com/httpdocs/public>
Options -Includes -ExecCGI
SetEnv APPLICATION_ENV "development"
</Directory>
DocumentRoot /var/www/vhosts/yourdomain.com/httpdocs/public
之后运行你的plesk更新脚本。
/usr/local/psa/admin/sbin/websrvmng -u --vhost=yourdomain.com
答案 1 :(得分:0)
我在这里找到了解决方案: http://www.warpturn.com/zend-framework-on-godaddy-shared-hosting-linux/
这是一个set_include_path问题。我替换了public / index.php中的set_include_path参数,之后一切正常。