2013-07-24 7 views
0

J'ai un paramètre crypté dans le routage ZF2 qui a «/» dans pour par exemple:routage zend framework avec «/»

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

Sur soumettre cette demande, l'URL se tourne vers

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

cela provoque un problème qu'un serveur Apache renvoie une erreur indiquant que la page n'a pas été trouvée. Est-il un moyen d'où je peux arrêter de convertir le "/" en "%" dans le champ de paramètre. Mon fichier .htaccess est

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] 

EDIT

Code Route:

'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', 
      ), 
    ), 
), 

Répondre

0

je devais ajouter "% 2F" => "/" dans Zend \ Mvc \ Router \ Http \ Segment Fichier dans la bibliothèque ZF2. Maintenant, ça marche bien

+0

Est-ce que je vous comprends correctement que vous avez modifié les fichiers de base? Il devrait y avoir une autre façon, je suis sûr que votre configuration d'itinéraire avait juste besoin d'un petit réglage;) – Sam

+0

J'ai vu un article sur la page de bogue de zend que c'était un problème dans zf 1. Je l'ai simplement appliqué en zf 2. Quelque chose ne va pas avec ça? – snab

+0

Je ne vais pas juste dire "oui", car cela dépend fortement de la mise en œuvre ... Comme je l'ai dit, je pense que votre route-configuration est tout ce qui doit être touché;) – Sam