如何在服务器上部署zend项目的过程中编辑.htaccess?

如何在服务器上部署zend项目的过程中编辑.htaccess?,.htaccess,zend-framework,deployment,.htaccess,Zend Framework,Deployment,我正在尝试在服务器网站上部署(http://webdeveloper.md)使用zend框架开发。当我在服务器上的帐户上输入文件管理器时,将显示以下结构: anon_ftp cgi bin conf 错误\u文档 etc httpdocs 和其他目录 我在httpdocs中部署了我的项目,因此在访问它时,会显示标准的zend结构(设置、应用程序、数据等)。据我所知,我的网站主目录的路径是。我已尝试在宿主设置中将此路径插入到文档根目录中。现在,当我在浏览器中访问webdeveloper.md时,出

我正在尝试在服务器网站上部署(http://webdeveloper.md)使用zend框架开发。当我在服务器上的帐户上输入文件管理器时,将显示以下结构:

anon_ftp
cgi bin
conf
错误\u文档
etc
httpdocs
和其他目录

我在httpdocs中部署了我的项目,因此在访问它时,会显示标准的zend结构(设置、应用程序、数据等)。据我所知,我的网站主目录的路径是。我已尝试在宿主设置中将此路径插入到文档根目录中。现在,当我在浏览器中访问webdeveloper.md时,出现错误404(未找到)

我相信问题出在我的.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]
我试图修改它-又添加了一行:

RewriteBase /httpdocs/public 
那么这个,

RewriteBase http://webdeveloper.md/httpdocs/public
然后,这一行,而不是最后一行:

RewriteRule http://webdeveloper.md/httpdocs/public
什么都不管用

我的configuration.ini如下所示:

[production]
resources.cachemanager.database.frontend.name = Core
resources.cachemanager.database.frontend.options.lifetime = 7200
resources.cachemanager.database.frontend.options.automatic_serialization = true
resources.cachemanager.database.backend.name = File
resources.cachemanager.database.backend.options.cache_dir = APPLICATION_PATH "/../data/cache"
resources.cachemanager.database.frontendBackendAutoload = false
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.view[] =
resources.db.adapter = "PDO_MYSQL"
resources.db.isDefaultTableAdapter = true
resources.db.params.dbname = "database"
resources.db.params.charset = "utf8"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = "***********"
resources.session.save_path = APPLICATION_PATH "/../data/sessions"
resources.session.use_only_cookies = true

date.timezone = "Europe/Chisinau"

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

resources.db.adapter = "PDO_MYSQL"
resources.db.params.dbname = "database"
resources.db.params.charset = "utf8"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = "*********"
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

resources.db.adapter = "PDO_MYSQL"
resources.db.params.dbname = "database"
resources.db.params.charset = "utf8"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = "*********"

我已经解决了所有的问题。实际上,我让.htaccess和index.php文件保持原样。正如我从其他用户的经验中了解到的,当服务器不允许修改文档根目录(最常见的情况是共享主机)时,就有必要编辑.htaccess。这不是我的情况,所以我所要做的就是编辑服务器上的PHP设置。 我在服务器上的PHP设置中做了以下修改: 1.我将文档根目录更改为指向我的公用文件夹(在我的示例中为/httpdocs/public/); 2.在服务器上的PHP设置中,最初打开的\u basedir是ROOT:/tmp(或其他什么),我已将此值更改为默认值; 3.我在PHP设置session.save_路径中进行了修改,并将zend项目的sessions目录路径插入其中。 最后,我不得不删除所有文件并再次部署我的项目。
为了解决所有问题,我查看了服务器上的错误日志。祝你好运

正在使用什么web服务器?您确定它是Apache吗?通常,您希望域直接映射到您的
public
文件夹,就像使用本地虚拟主机或VPS一样。如果您无法做到这一点(共享主机通常就是这样),那么您可以采用一些变通方法。是的,这绝对是阿帕切托·大卫·韦诺布:我已经试过了教程。它们是为共享主机而开发的。我的服务器允许我更改文档根目录。然而,我试着表现得好像没有。我在根目录中设置了文档根目录,将.htaccess复制到根目录中,并更改了其中的代码,以将页面访问从公用文件夹重定向到index.php(就像大多数教程中建议的那样)。但我得到的只是HTTP错误500内部服务器错误:服务器配置不正确或请与管理员联系。没想到在服务器上部署zend project会如此困难。还有一件事:可能是因为所有项目都存储在httpdocs中?我使用的服务器提供了自己的结构(如上所述),也许这一事实会导致项目中使用的路径混乱?