6
votes

Comment créer des urls utilisables comme Stackoverflow?

Je souhaite créer un type d'URL similaire en tant que débordement de pile que lorsque une question est créée.

Exemple:

NON-AJAX GET / POST utilisant JQuery (plug-in?) Non-Ajax-get-post-post-utiliser -JQUERY-plugin

Je suis particulièrement intéressé par la dernière partie que j'ai en tête audacieuse. Comment réalisez-vous l'affect de l'ajout du titre de la page à l'URL avec le délimiteur?

Quelle est cette technique appelée?


3 commentaires

Tout d'abord, vous fusionnez la chaîne ... alors vous ajoutez des tirets ... alors vous le concatéez sur l'URL ...


FWIW, le débordement de la pile ignore ce texte: Stackoverflow.com/questions/1149454/...


Oui, c'est juste bon référencement. Vous n'avez vraiment besoin que du numéro d'identification.


7 Réponses :


5
votes

Cette technique appelée «réécriture de l'URL». Vous avez suivi la question avec 'ASP.NET' afin que MSDN puisse vous aider à ce sujet: http://msdn.microsoft.com/en-us/library/ms972974. ASPX


0 commentaires

6
votes

La réécriture de l'URL pour ainsi est fournie par le moteur de routage dans ASP.NET MVC.


0 commentaires

14
votes

Utilisez ASP.NET Routing plutôt que de réécrire quand c'est possible. Il est disponible avec des formulaires MVC et Web. L'acheminement est beaucoup plus flexible et fait un meilleur travail en passant au contexte du code de traitement, de manipuler des post-packs, etc.

Vous pouvez également utiliser Module de réécriture IIS7 Pour gérer la réécriture au niveau du serveur Web avant que votre code ASP.NET n'exécute. Il y a de bonnes informations sur la façon de faire ce Voici .


2 commentaires

Le routage ASP.NET ne fonctionnerait pas avec IIS6 par défaut, non? Autant que je sache, cela nécessiterait une œuvre autour: une sorte de cartographie de carte sauvage ou de réécriture d'URL! +1 pour une bonne réponse cependant.


IIS5 et IIS6 doivent être configurés avec des mappages génériques pour des extensions non enregistrées (incluent «aucune extension»)



5
votes

Stackoverflow est programmé dans le routage ASP.NET MVC et URL est une partie standard de l'emballage en MVC. Outre l'acheminement de l'URL, il offre également de nombreux avantages. Donc, si vous construisez un nouveau site Web et que vous souhaitez bénéficier du routage de l'URL entre autres avantages, essayez de le faire en MVC.

Soyez averti cependant, vous devrez apprendre un peu.


0 commentaires

1
votes

Quelle est cette technique appelée?

Comme d'autres personnes ont déclaré que la technique s'appelle routage . Fondamentalement, il prend votre URL assez formatée et mappez-la à une action du contrôleur. Et selon Jon Galloway's Réponse IIS 7 Cette fonctionnalité a-t-elle intégré. Pour les versions précédentes de IIS, vous devrez probablement configurer un mappage d'applications WildCard sur ASP.NET Runtime et éventuellement ajouter votre propre pipeline HTTPMODULE à la demande de votre application pour gérer le routage si votre cadre de choix Web ne fournit pas de facilité de routage.

Comment réalisez-vous l'affect de Ajout du titre de la page à la URL avec le délimiteur?

Vous pouvez y accomplir en bassin inférieur au titre et remplacer les caractères non alphanumériques avec des traits d'union. Parfois, ce bit est appelé une limace. Vous voulez probablement garder la longueur de la limace vers le bas de sorte que vous ne courez pas dans Limite de longueur d'URL problèmes. Vous avez également la possibilité de générer la limace dans quelques endroits:

  • Lorsque le titre est soumis, enregistrez la limace avec le reste des données de la page.
  • ou le génère à la volée lorsque vous générez des pages qui pointent sur une page avec le titre.

    garder à l'esprit les limaces ne doit pas être utilisé pour rechercher les données de page, c'est ce qu'est un identifiant de page. La limace doit être facultative. Vos règles de routage seront simplement concernées par la sortie de l'URL et la donner à l'action du contrôleur correcte en ignorant tout après. En d'autres termes, la seule partie cruciale est l'ID de la question. La limace est juste du sucre. :)


0 commentaires

0
votes

Alors que le routage est clairement la meilleure option ici, il existe des moyens de le simuler avec un effort minimal. Par exemple, voici un moyen simple d'obtenir des URL amicales et de SEO:
Supposons que vous ayez la page: XXX PRE>

Même sans rien faire, l'URL suivante em> fonctionnera: p>

example.aspx?id=1
example.aspx/some-friendly-text?id=1


0 commentaires

0
votes

N'oubliez pas qu'avec ce type de routage, les gens peuvent créer un lien vers votre page avec du texte que vous pourriez avoir préféré ne pas utiliser.

J'ai beaucoup vu cela beaucoup avec des journaux britanniques - ils publieront une histoire avec une URL dans le sens de

journaldoman.co.uk/articles/1128945/dog-bites-man

Et alors quelqu'un va être associé à celui-ci comme

journaldoman.co.uk/articles/1128945/newspaper-Crap-strap-story-shocker

ou autre.


0 commentaires