2013-01-03 26 views
0

我想部署在使用zend框架開發的服務器網站(http://webdeveloper.md)上。當我在我的帳戶進入文件管理服務器上有顯示以下結構:如何在服務器上部署zend項目的過程中編輯.htaccess?

anon_ftp
的cgi-bin
的conf
上-error_docs‖

的httpdocs
和其他目錄。

我在httpdocs中部署了我的項目,因此在訪問它時會顯示標準的zend結構(設置,應用程序,數據等)。據我所知,我的網站主目錄的路徑是http://webdeveloper.md/httpdocs/public/index.php。我試圖在託管設置中將此路徑插入文檔根目錄。現在,當我在瀏覽器中訪問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] 

我tryed進行修改 - 增加了一個行:

RewriteBase /httpdocs/public 

那麼這個:

RewriteBase http://webdeveloper.md/httpdocs/public 

然後這,而不是最後一行:

RewriteRule http://webdeveloper.md/httpdocs/public 

沒有用!

我configuraion.ini loks這樣的:

[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 = "*********" 
+0

正在使用什麼Web服務器?你確定它是Apache嗎? – vascowhite

+0

通常,您希望自己的域名直接映射到您的「公共」文件夾,就像您可以通過本地虛擬主機或VPS一樣。如果您無法做到這一點(共享主機通常如此),那麼您可以使用一些解決方法。查看http://stackoverflow.com/a/3765443/131824瞭解一些想法。 –

+0

是的,它是definetely apache – Andrei

回答

1

我已經解決了所有問題。實際上,我讓.htaccess和index.php文件保持原樣。正如我從其他用戶的經驗中瞭解到的,編輯.htaccess的必要性出現在服務器不允許修改文檔根目錄(最常見的情況 - 共享主機)的情況下。這不是我的情況,所以我只需要在服務器上編輯PHP設置。 我在服務器上的PHP設置中做了以下修改: 1.我改變了Document Root以指向我的公共文件夾(在我的例子中是/ httpdocs/public /); 2.在服務器上的PHP設置中,最初open_basedir是ROOT:/ tmp(或其他),我將此值更改爲DEFAULT; 3.我修改了PHP設置session.save_path,並在那裏插入了我的zend項目中sessions目錄的路徑。 最後,我不得不刪除所有的文件,並再次部署我的項目。 爲了解決所有問題,我已經查看了服務器的錯誤日誌。祝你好運!

相關問題