2013-07-24 196 views
0

我在ZF2路由加密參數有「/」在裏面,比如:Zend框架路由以「/」

http://domain.com/request/$2y$14$OmovR9wA1TnBG2fxdKuU9ORYTPGChgfyesGVxilP74**/**2F2t8eJgbNF2 

在提交這一請求的URL轉向

http://domain.com/request/$2y$14$OmovR9wA1TnBG2fxdKuU9ORYTPGChgfyesGVxilP74**%**2F2t8eJgbNF2 

這會導致一個問題,一個Apache服務器拋出一個錯誤說沒有找到頁面。有沒有一種方法,我可以停止在參數字段中將「/」轉換爲「%」。我的.htaccess文件是

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$ 
RewriteRule ^(.*)$ - [E=BASE:%1] 
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L] 

編輯

路線代碼:=> 「/」,在Zend的

'exampleroute' => array(
    'type' => 'segment', 
    'options' => array(

      'route' => '/exampleroute/[:regexparameter]', 
      'constraints' => array(

        'regexparameter' => '[$.a-zA-z0-9_-]*', 

      ), 
      'defaults' => array(

        '__NAMESPACE__' => 'Mynamespace\Controller', 
        'controller' => 'exampleroute', 
        'action'  => 'example', 
      ), 
    ), 
), 

回答

0

我不得不添加 「%2F」 \的mvc \路由器\ HTTP \段在ZF2庫中的文件。現在它的工作正常

+0

我是否正確理解你改變了核心文件?應該有另外一種方法,我確定你的路由配置只需要一點點調整;) – Sam

+0

我在zend的bug頁面看到一篇關於它在zf 1中出現問題的文章。我簡單地將它應用於zf 2。有什麼不對嗎? – snab

+0

我不會只是說「是」,因爲它很大程度上取決於實現......正如我所說,我認爲你的路由配置是所有需要觸及的;) – Sam