2017-08-28 6 views
0

Après avoir ajouté le abriviation de la langue au lien la méthode du mauvais paramètre ex:méthode CodeIgniter parametre obtenir une valeur incorrecte ajouter après une abreviation de langue à uri

dans le cas normal:

localhost/monsite/méthode/paramètre1/paramètre2

Public function method($val1, $val2) { 
echo $val1; 
echo $val2; 
} 

retour: // // parametre1 parametre2

Après avoir ajouté la langue: localhost/monsite/fr/méthode/paramètre1/paramètre2

Public function method($val1, $val2){ 
echo $val1; 
echo $val2; 
} 

retour: // méthode // parametre1

quelqu'un peut me aider?

Répondre

0

Fondamentalement, si vous voulez changer la façon dont Codeigniter lire les URL, vous pouvez modifier ou les ajouter dans config/routes.php

Vous pouvez consulter le routage de Codeigniter de doucumentation - https://www.codeigniter.com/userguide3/general/routing.html

Exemple:

$route['method/en/(:any)/(:any)'] = 'method/$1/$2'; 
+0

merci pour votre réponse, mais même avec la modification de l'itinéraire, il retourne la même chose $ Route ['^ fr /(.+)$'] = "$ 1"; $ Route ['^ ar /(.+)$'] = "$ 1"; // '/ en' et '/ ar' -> utilisent le contrôleur par défaut $ Route ['^ (fr | ar) $'] = $ route ['default_controller']; $ route ['^ (fr | ar)/method'] = 'home/méthodes'; $ route ['^ (fr | ar)/méthode/(: any) $'] = 'home/méthodes/$ 1'; $ route ['^ (fr | ar)/méthode/(: any)/(: any) $'] = 'home/méthodes/$ 1/$ 2'; –

+0

l'utilisation de^- signifie le ** tout début ** de l'URL. Vous pourriez vouloir faire '$ route [(fr | ar)/méthode/(: tout)/(: any) $] = 'home/methods/$ 2/$ 3';' et assurez-vous que url_rewrite est activé sur votre PHP config – chad