Question

Je commence un port d'un Web ASP.NET existant Forms CMS pour ASP.NET MVC et que vous souhaitez obtenir le bon routage depuis le début.

Note:. Il est important de ne pas avoir la structure d'URL exacte même

Je pense que cette réponse est proche de ce que je suis à la recherche mais je voudrais une entrée supplémentaire devrait avoir tout le monde.

La struction en cours d'URL est comme:

  

? Contenu = Nouvelles / CurrentNews / This_is_a_news_article
  ? Contenu = entreprise / about_us / Vue d'ensemble

etc etc

Je voudrais ajouter une paramater linguistique en option et conserver une structure similaire dans MVC. Donc, quelque chose comme:

  

Nouvelles / CurrentNews / Ce-est-une-nouvelles-article
  fr / Nouvelles / CurrentNews / Ce-est-une-nouvelles-article

     

modifier / Nouvelles / CurrentNews / Ce-est-une-nouvelles-article
  modifier / fr / Nouvelles / CurrentNews / Ce-est-une-nouvelles-article

ou suis-je mieux avec l'inverse?

  

Nouvelles / CurrentNews / Ce-est-une-nouvelles-article / modifier
  fr / Nouvelles / CurrentNews / Ce-est-une-nouvelles-article / modifier

Je pense que cette façon (avec l'action à la fin) requries un itinéraire pour tous les scénarios d'autres questions que j'ai lu.

L'autre point est que les URLS existants sont fait comme ça pour la production de la mie SEO et du pain. à savoir l'URL montre le chemin de navigation actuelle.

Je pourrais montrer la page en cours dans l'URL et construire séparemment les miettes de pain de base de données.

Comme:

  

fr / this-is-a-nouvelles-article

avec la mie

  

Accueil> Nouvelles> Current> Ceci est un article de nouvelles

pensées globales et des solutions? Devrais-je commencer avec une classe de routage personnalisé pour une flexibilité maximale?

Était-ce utile?

La solution

Vous devez vous assurer qu'il n'y aura pas de chevauchement accidentel de certaines règles de routage. Par exemple dire que vous mettez la langue comme la première balise, assurez-vous qu'il n'y aura pas de nouvelles-catégories qui ont « en » pour un nom. Je sais que c'est un exemple stupide, mais je pense que vous obtenez l'image. Assurez-vous de mettre les règles de routage moins précises dernier.

Personnellement, je structurer comme ceci:

[language]/[category]/[subcategory]/[itemtitle]/[itemid]

Pourquoi [itemId] vous pouvez demander? Si vous avez un site plus grand, il peut arriver que vous avez 2 articles de presse avec le même nom exact. Votre code peut « juste arriver à être » écrit à afficher uniquement la première newsitem est revenu, mais tout aussi bien peut-être pas. Un ID est toujours unique et en termes de référencement, en ajoutant l'ID, n'a pas d'importance (dans mon expérience au moins).

Vous pouvez ajouter un itinéraire où [la langue] est laissé et un défaut est fourni à la place.

En outre, Scott Guthrie a écrit une belle

scroll top