0

目前我正在開發一個PHP的網上商店。爲此,我使用Zend Framework 2.無法讓我的Zend Framework 2項目在託管服務器上工作

我的所有路由都存在一個語言環境,即「nl_NL」或「en_EN」,隨後是控制器和操作www.mydomain.com/nl_NL/profile/login。在這裏尋找我的項目中使用的路線示例。這個屬於Profile Module:http://pastebin.com/jmim47w8

如果訪問者不具有帳戶,並且沒有設置cookie,語言環境變量將首先被設置爲從下列功能中檢索到的變量:

locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']) 

如果Cookie設置將使用該值。 另一方面,如果用戶確實擁有一個賬戶並且已經登錄,則將從用戶的配置文件中檢索所使用的變量。

我的整個腳本在本地主機上工作。但是,在服務器上它沒有。 當加載頁面沒有顯示。我檢查了錯誤日誌並找不到任何東西。但是,當我手動/ nl_NL /或任何其他語言環境符合「區域設置路線」正則表達式的要求在網址中,它確實工作。

我的第一個想法是,url_rewrite apache模塊沒有安裝或激活,但由於其他網站也使用這個模塊,並且它們在同一個服務器上,這似乎不合邏輯。當然,我確實試圖通過運行一些腳本來檢查它是否被啓用,但無濟於事。由於我們的服務器設置爲不允許運行shell腳本,或者檢查是否使用phpinfo()啓用了apache模塊,所以很難確定。

我試圖驗證我的.htaccess文件是正確的,但我幾乎是在.htaccess的noob。這是我的.htaccess:

RewriteEngine On 
# The following rule tells Apache that if the requested filename 
# exists, simply serve it. 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
# The following rewrites all other queries to index.php. The 
# condition ensures that if you are using Apache aliases to do 
# mass virtual hosting, the base path will be prepended to 
# allow proper resolution of the index.php file; it will work 
# in non-aliased environments as well, providing a safe, one-size 
# fits all solution. 
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$ 
RewriteRule ^(.*) - [E=BASE:%1] 
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L] 

要看看我的IndexController看起來像這裏看看:http://pastebin.com/AEgm3Jmk。總之,我真的很想知道如何讓Zend FW 2項目在託管服務器上工作,同時仍然使用url重寫或其他任何可以使用locale變量的方式。

如果在這篇文章中缺少一些東西需要我進一步幫助,我很樂意發佈它。

+0

你收到了什麼錯誤,你的路線是什麼樣的?這可能會更容易找到問題。 .htaccess似乎是ZF2的默認版本。 (我目前在託管服務器上的.htaccess中使用相同的設置,並且一切正常)。在php.ini文件中打開錯誤報告?這也可能有助於找到問題。 – alex

回答

0

我已經解決了這個問題,現在一切正常。 我發現問題在我的local.php配置文件。問題是 此文件內有錯誤,所以它實際上是寫入錯誤(損壞的文件)。

@Alex謝謝你的幫助,雖然,非常感謝。

+0

你能清楚地解釋你在這裏做了什麼..我面臨一些問題,www.project.com/public/ works但沒有其他模塊像www.project.com/public/country(這不起作用) 未找到 在此服務器上未找到請求的網址/公開/國家/地區。 – kumar

+0

我做的唯一的事情就是重新上傳配置文件。不知何故文件通過FTP上傳時被破壞。如果這不能解決您的問題,恐怕這不是您的解決方案。 – qvotaxon

相關問題