Domanda:
Sto creando un software wiki, fondamentalmente un clone di wikipedia / mediawiki, ma in ASP.NET MVC (il MVC è il punto, quindi non mi raccomando ScrewTurn).
Ora ho una domanda:
Io uso questa mapping del percorso, per indirizzare un URL come:
http://en.wikipedia.org/wiki/ASP.NET
routes.MapRoute( "Wiki", // Routenname //"{controller}/{action}/{id}", // URL mit Parametern "wiki/{id}", // URL mit Parametern new { controller = "Wiki", action = "dbLookup", id = UrlParameter.Optional } // Parameterstandardwerte );
Ora mi è appena venuto in mente che potrebbero esserci titoli come “AS / 400”:
http://en.wikipedia.org/wiki/AS/400
Per inciso, c’è anche questo (titolo ‘Slash’):
http://en.wikipedia.org/wiki//
E questo:
http://en.wikipedia.org/wiki//dev/null
Nel complesso, Wikipedia sembra avere un elenco di titoli interessanti come questo: http://en.wikipedia.org/wiki/Wikipedia:Articles_with_slashes_in_title
Come faccio a fare percorsi come questo percorso correttamente?
Modificare:
Qualcosa di simile a:
Se l’URL inizia con / Wiki /, e se non inizia con / wiki / Edit / (ma non / Wiki / Edit) quindi passa tutto il resto dell’URL come Id.
Modificare:
Hmm, solo un altro problema: come posso indirizzare questo:
http://en.wikipedia.org/wiki/C&A
Wikipedia può …
Modificare:
Secondo wikipedia, a causa degli scontri con la syntax di wikitext, solo i seguenti caratteri non possono mai essere utilizzati nei titoli di pagina (né sono supportati da DISPLAYTITLE):
# [ ] | { }
http://en.wikipedia.org/wiki/Wikipedia:Naming_conventions_(technical_restrictions)#Forbidden_characters
Modificare:
Per consentire * e &, mettere
nella sezione nel file web.config
(Trovato qui: http://www.christophercrooker.com/use-any-characters-you-want-in-your-urls-with-aspnet-4-and-iis )