php i ont méthode pour ajouter des routes:Zend Route Regex et contrôleur invalide
public function addRoutes()
{
$front = Zend_Controller_Front::getInstance();
$redirect = $front->getRouter();
$router = new Zend_Controller_Router_Route_Regex(
"p\/(a-zA-Z0-9)\.htm",
array(
'controller'=>'page',
'action'=>'index',
1=>'ja.htm'
),
array(1 => 'page_name')
);
$route2 = new Zend_Controller_Router_Route_Regex("(a-zA-Z0-9)\.html",
array('controller'=>'page',
'action'=>'index',
1=>'ja.html'),
array(1=>'page_name'));
$redirect->addRoute('pages',$router);
$redirect->addRoute('hmtmled',$route2);
$front->setRouter($redirect);
}
J'ai essayé d'entrer dans l'url: p/ja.htm mais j'obtiens l'erreur: contrôleur non valide spécifié (p). Je sais que c'est pour raison de route par défaut, mais comment changer cela?
Je ne pense pas que vous devez échapper à la barre, il ne fonctionne donc si vous modèle regex est juste 'p/(a-zA-Z0-9) \. htm'? –
Votre motif accepte uniquement un caractère alphanum_single_ après le 'p /'. N'avez-vous pas besoin de ce qui suit à la place (notez le qualificatif + +): 'p/(a-zA-Z0-9) + \. Htm' –
même si mon motif est p/(a-zA-Z0-9) + \. htm je reçois la même erreur, même avec des options comme p/(\ w + \ d +) \. htm échoue toujours, donc je ne pense pas que son erreur d'expression rationnelle – Axxxon