Impostazione del reindirizzamento nel file web.config

Sto cercando di redirect alcuni URL ostili con quelli più descrittivi. Questi URL terminano in .aspx?cid=3916 con le ultime cifre diverse per ogni pagina di nome di categoria. Voglio redirect invece a Category/CategoryName/3916 . Ho provato questo nel file web.config :

     

ma dal momento che non si è conclusa solo con l’estensione, non ha funzionato. C’è un modo semplice per farlo funzionare? Sto usando IIS 7.5.

  1. Apri web.config nella directory in cui risiedono le vecchie pagine
  2. Quindi aggiungere il codice per il vecchio percorso di posizione e la nuova destinazione come segue:

                 

È ansible aggiungere tutti i percorsi di localizzazione necessari.

Probabilmente vorrai guardare qualcosa come URL Riscrivi per riscrivere gli URL in modo più httpRedirect piuttosto che usare un semplice httpRedirect . Potresti quindi fare una regola come questa:

           

Nel caso in cui sia necessario aggiungere il reindirizzamento http in molti siti, è ansible utilizzarlo come programma di console ac #:

  class Program { static int Main(string[] args) { if (args.Length < 3) { Console.WriteLine("Please enter an argument: for example insert-redirect ./web.config http://stackoverflow.com"); return 1; } if (args.Length == 3) { if (args[0].ToLower() == "-insert-redirect") { var path = args[1]; var value = args[2]; if (InsertRedirect(path, value)) Console.WriteLine("Redirect added."); return 0; } } Console.WriteLine("Wrong parameters."); return 1; } static bool InsertRedirect(string path, string value) { try { XmlDocument doc = new XmlDocument(); doc.Load(path); // This should find the appSettings node (should be only one): XmlNode nodeAppSettings = doc.SelectSingleNode("//system.webServer"); var existNode = nodeAppSettings.SelectSingleNode("httpRedirect"); if (existNode != null) return false; // Create new  node XmlNode nodeNewKey = doc.CreateElement("httpRedirect"); XmlAttribute attributeEnable = doc.CreateAttribute("enabled"); XmlAttribute attributeDestination = doc.CreateAttribute("destination"); //XmlAttribute attributeResponseStatus = doc.CreateAttribute("httpResponseStatus"); // Assign values to both - the key and the value attributes: attributeEnable.Value = "true"; attributeDestination.Value = value; //attributeResponseStatus.Value = "Permanent"; // Add both attributes to the newly created node: nodeNewKey.Attributes.Append(attributeEnable); nodeNewKey.Attributes.Append(attributeDestination); //nodeNewKey.Attributes.Append(attributeResponseStatus); // Add the node under the nodeAppSettings.AppendChild(nodeNewKey); doc.Save(path); return true; } catch (Exception e) { Console.WriteLine($"Exception adding redirect: {e.Message}"); return false; } } }