2012-01-06 32 views
1

(可能它的工作原理與設計,但我敢肯定它更新到ZF 1.11.x前的工作。)Zend框架的URL以「.jpg」結尾

我想「打印「在瀏覽器中的圖像,但是當我構造URL是這樣的:

webserver/index/get-image/PARAM1/xyz/IMAGE/1.jpg 

我從服務器

webserver/index/get-image/IMAGE/1.jpg/PARAM1/xyz 

得到錯誤作品..

任何想法?

+0

什麼控制器/動作你要通過你的所需的URL調用?您是創建任何自定義路線還是僅使用默認路線? – 2012-01-06 09:31:12

+0

index Controller/getImageAction,只是默認路由 – opHASnoNAME 2012-01-06 09:53:03

+2

只是一個快速的想法,我沒有資源來檢查atm:/ public中的.htaccess是否有任何更改? – cypherabe 2012-01-06 10:01:45

回答

2

404錯誤是最有可能是因爲您在Web服務器定義的規則(如的.htaccess)的網址以.jpg結尾不應該重寫index.php文件(如RewriteRule ^[\w/\%]*(?:\.(?!(?:js|ico|gif|jpg|png|css|html)$)[\w\%]*$)? /index.php [I]

使用時阿帕奇,下面應該工作:

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

欲瞭解更多信息,請訪問http://framework.zend.com/manual/en/zend.controller.router.html

+0

感謝您忘記了小小的htaccess文件:-) – opHASnoNAME 2012-01-07 05:15:05

0

其實,這兩個網址還有一個區別,它是get-image動作(我假設它是一個動作,如果它是ZF)。嘗試在第二個鏈接上添加或刪除操作並回傳結果。

0

嘗試Zend_Route如下

$route = new Zend_Controller_Router_Route(
    'images/:img', 
    array(
     'controller' => 'index', 
     'action'  => 'getImageAction' 
    ) 
); 

$router->addRoute('user', $route); 

,現在當你去到服務器/圖片/ pic1.jpg,你將有一個參數(通過$this->getRequest->getParam('img')從您檢索控制器)可用於任何你希望的。 GL

編輯:我現在看到這不是你的問題,但這可能是一個富有成效的解決方法。