2017-03-23 5 views
0

(I VS2017 und asp.net Kern v1.1.1 bin mit) Hallo,asp.net Kern Rewrite-Middleware nicht Umschreiben möglich regex Ausgabe

ich versuche auf meine URLs mehr seo freundlicher zu machen, ich habe hinzugefügt die .net Kernumschreibung Middleware über Nuget, und folgte dieser Anleitung

Aus irgendeinem Grund werden meine URLs nicht neu geschrieben. ? Meine URLs sind zur Zeit/Alben slug = erster Test und ich möchte, dass sie Alben/First-Test

Das ist das, was ich mit gekommen sind (von startup.cs):

var options = new RewriteOptions() 
.AddRewrite(@"^(.*)?slug=(.*)", "$1/$2", skipRemainingRules: true) 
.AddRewrite(@"^Albums?slug=(.*)", "Albums/$1", skipRemainingRules: true); 
app.UseRewriter(options); 

Wie du sehen kannst, versuche ich 2 Variationen, von denen ich hoffe, dass sie das selbe Ergebnis haben, weil ich auch/Galleries? Slug = first-test habe und ich hoffte, dass ich mit einer Regel für beide durchkommen könnte.

Antwort

0

Also, es scheint, ich habe einen Noob-Fehler gemacht. Alles, was ich tun musste, war neue Routen zu planen! Ich bemerkte, wie Controller/Action/ID nicht enthalten? ID = was erinnerte mich an meine früheren Tage des Lernens, in der Tat Tag eins davon lol. Also hier ist, was ich hinzugefügt:

app.UseMvc(routes => 
    { 
     routes.MapRoute(
      name: "default", 
      template: "{controller=Home}/{action=Index}/{slug?}"); 

    }); 

Edit: am Ende des optionalen geändert, wie das Hinzufügen neuer Routen meine Heimat Index brach.