J'essaye de créer des liens courts vers mon application dans le codeigniter mais j'ai rencontré un genre de problème en concevant mon itinéraire. Le problème est que je veux une route qui prendra une chaîne contenant a-Z et numéros et redirige cela vers un contrôleur appelé image avec la chaîne après. Comme ceci: app.com/randomstring -> app.com/image/randomstring
. Mais lorsque j'essaie de le faire dans le fichier de configuration de routes avec une expression régulière, cela désactive mon application et je n'arrive pas à entrer des URL "normales" avec des contrôleurs qui existent déjà.Acheminer des chaînes aléatoires vers un contrôleur spécifique dans CodeIgniter?
Comment ma route ressemble en ce moment (je sais que c'est probablement très mal fait):
$route['(^[A-Za-z0-9]+$)'] = "image/$1";
est-il un moyen facile de rediriger avec cette url courte sans utiliser un autre contrôleur faux premier comme ceci: app.com/i/randomstring -> app.com/image/randomstring
Et pourriez-vous m'aider à m'améliorer et à me dire quelle partie de mon expression rationnelle échoue?
À noter que j'ai une réécriture d'URL dans .htaccess pour supprimer index.php de n'importe quelle page. – Ms01
Les chaînes sont-elles vraiment aléatoires? Si c'est le cas, il est possible (bien que peu probable) qu'ils puissent entrer en conflit avec un nom de contrôleur valide. À quoi ressemblent exactement les URL de l'image? comment les créez-vous? Sont-ils garantis d'avoir au moins un nombre, des limites de longueur, des cas mixtes, etc.? –
Eh bien, je vais m'assurer que la chaîne ne soit pas en conflit avec un nom de contrôleur. Je les crée avec une fonction qui prend un nombre et juste le convertir en une chaîne. En ce moment, j'utilise la fonction de ce type pour le faire, mais cela pourrait changer dans le futur. http://kevin.vanzonneveld.net/techblog/article/create_short_ids_with_php_like_youtube_or_tinyurl/ – Ms01