2013-03-08 173 views
0

我試圖做一個簡單的Zend Webapp在共享主機上運行。登錄FTP服務器後的根文件夾是名爲'www'的文件夾。所以結構是:Zend Framework應用程序.htaccess

/www 
    /tasklist 
     /application 
     /library 
     /public 
     /.htaccess 

主機提供商要求在.htacccess文件中的所有路徑都是絕對的。考慮到這一點,路徑到我的Zend的應用程序的主index.php文件是:

http://aportsupport.cz/tasklist/public/index.php 

這也是我能夠訪問我的應用程序,但與其他路徑某些文件(CSS,JS等在哪個環節) 不工作。當我嘗試訪問我的應用程序:

http://aportsupport.cz/tasklist/ 

我只取決於我已經嘗試過的.htaccess的各種設置得到404或403錯誤。 我無法訪問錯誤日誌,也沒有任何服務器配置。默認控制器是'索引',動作'索引',模塊'默認'。

回答

0

謝謝你的迴應,但是,我終於設法使它自己工作。對於所有那些可能有類似問題的人,這個解決方案爲我工作:

我創建了一個子域'tasklist.aportsupport.cz',它在我的共享主機上有它自己的根文件夾。在這個文件夾中,我將所有的Zend文件夾與他們的默認結構。此外,我創造了我寫了這個index.php文件:

<?php include 'public/index.php'; 

這index.php文件位於中,我加入這一行默認的Zend Framewrok的.htaccess tasklist.aportsupport.cz根:

RewriteBase/

此外,所有的CSS,JS,IMG等文件都位於該根文件夾中。一切正常!

0

在Zend的應用程序和.htaccess應在公共文件夾,這樣你的文件夾樹看起來就像這樣:

/www 
    /tasklist 
     /application 
     /library 
     /public 
      /.htaccess 

你的.htaccess可以保持簡單的大多數Zend的應用。試試這個文本出來的.htaccess:

Options +FollowSymlinks 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteBase/
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

這是什麼打破了到是,不管是從這個根目錄要求什麼網址,它會嘗試獲取文件/www/tasklist/public/index.php ,它將引導Zend應用程序。

請記住,如果您的託管服務提供商不支持Zend Framework,它可能根本無法工作。主機提供商如http://www.phpcloud.com/確實允許基於Zend的應用程序,但您必須在容器創建時指定它。

相關問題