Notre systèmeProposer le meilleur style URL
Notre module de recherche peut avoir de nombreux paramètres comme
- recherche par mot clé
- filtre d'examen
- sujet filtre
- Date plage filtre
- filtre de nom de cours ... ... etc
et il y a des paramètres paginations et de tri comme
- Numéro Page
- Nombre de résultats dans une page
- champ de tri
- ordre de tri
Nous avions des URLs comme: -
www.projectname/module/search/<search keyword>/<examination filter>/<subject filter>/
www.projectname/module/search/<search keyword>/<examination filter>/<subject filter>/<Page number>,<Number of results in a page>,<sort field>,<sort order>
.... ... ...
Et nous avions une règle de réécriture dans htaccess pour chaque variation.
actuel Problème
En raison de la difficulté de plusieurs URL causant des problèmes dans la maintenance du code, je suis maintenant recours à des fonctions PHP pour faire la tâche au lieu de htaccess, quelque chose de similaire aux bibliothèques d'URL de cadres tels que Zend , Codeignitor.
Ma question
Je veux juste quelques suggestions sur lesquelles des conventions de format d'URL suivant est préférable de suivre compte tenu du fait que tous les filtres de recherche/Parmas ne seront pas nécessaires à chaque fois. Alors, lequel des 2 conventions suivantes sont mieux suivre: -
Avoir tous les paramètres d'URL présents dans toutes les URL, peu importe si elles sont nécessaires ou non, comme: -
www.projectname /module/search/hello//110/ ... tous les autres paramètres présents ...
Ici, nous n'avons pas besoin de mentionner que le param qui est le mot-clé de recherche et celui qui est sujet filtre. Une simple fonction d'analyseur d'URL suppose toujours le 2ème paramètre de www.projectname/module/en tant que mot-clé de recherche (bonjour dans ce cas) et de même pour les autres paramètres. Dans cet exemple, le filtre d'examen n'est pas applicable et il est donc laissé vide et il ne casse pas l'URL, mais c'est sympa.S'il y avait beaucoup params vides alors il y apparaître plusieurs dos à dos barres obliques
Permettre la liberté de passer params URL dans un ordre comme celui-ci: -
www.projectname/module/recherche/SEARCH_KEYWORD/bonjour/subject_filter /110/...autres paramètres nécessaires uniquement présents ... www.projectname/module/search/subject_filter/110/search_keyword/hello/... autres paramètres requis uniquement présents ...
Ces deux URL signifie la même chose Dans cette convention, la fonction d'analyseur d'URL analyse chaque paire nom-valeur et prend la valeur à côté du nom "search_keyword" comme mot-clé de recherche et similaire. y pour les autres (dans cet exemple name = search_keyword, value = hello). La fonction analysera chaque paire de valeurs de chaque nom et ainsi le terme search_keyword apparaissant comme valeur pour une autre paire n'interférera pas.
S'il vous plaît prendre en compte les facteurs suivants tout en suggérant: - - convivialité SEO - facilité de maintenabilité (en tenant compte de nouveaux filtres peuvent être ajoutés à l'avenir)
S'il vous plaît donner quelques conseils sur l'amélioration de la convivialité SEO. J'ai peu de connaissances sur ce
Merci