<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[URL REWRITE in ASP.NET 2.0]]></title><description><![CDATA[<p dir="auto">Segnalo questo utilissimo articolo sul <a href="http://blog.devexperience.net/en/10/URL_Rewriting_implementing_a_HttpHandler.aspx" rel="nofollow ugc">rewriting degli URL in ASP.NET 2.0</a></p>
<p dir="auto">Grazie alla potenza del framework .NET è possibile fare cose spettacolari in questo senso: creare il proprio httpHandler!</p>
<p dir="auto">Buon divertimento (e posizionamento)!</p>
<p dir="auto"><img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/customizations/54a3bffb-5e4a-4eb8-81dc-99b2072e5d05-175.gif?v=5l94qfpgdvn" class="not-responsive emoji emoji-customizations emoji--ciauz" title=":ciauz:" alt=":ciauz:" /></p>
]]></description><link>https://connect.gt/topic/23521/url-rewrite-in-asp-net-2-0</link><generator>RSS for Node</generator><lastBuildDate>Mon, 09 Mar 2026 12:21:27 GMT</lastBuildDate><atom:link href="https://connect.gt/topic/23521.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 15 Dec 2006 15:11:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Mon, 28 Dec 2015 15:02:06 GMT]]></title><description><![CDATA[<p dir="auto">Salve vorrei effettuare un redirect 301 di alcune pagine da htm a html, server aruba, ho provato più volte a creare e modificare il file web.config seguendo delle guide che suggerscono di creare una mappa url rewrite e poi il file web.config<br />
<strong>Step 1: Create the rewrite mapping file</strong></p>
<p dir="auto">This is a text file, saved with the name <strong>rewritemaps.config</strong>, here?s the example format:<br />
&lt;rewriteMaps&gt;<br />
&lt;rewriteMap name="Redirects"&gt;<br />
&lt;add key="/oldurl" value="/newurl" /&gt;<br />
&lt;add key="/oldurl2" value="/newurl2" /&gt;<br />
&lt;/rewriteMap&gt;<br />
&lt;/rewriteMaps&gt;</p>
<p dir="auto"><strong>Step 2: Copy to IIS</strong></p>
<p dir="auto">Copy the rewritemaps.config file into the same directory as your web.config (on IIS)<br />
<strong>Step 3: Add a reference to web.config</strong></p>
<p dir="auto">Add a reference to the rewritemaps.config file in your web.config file eg:<br />
&lt;configuration&gt;<br />
&lt;system.webServer&gt;<br />
&lt;rewrite&gt;<br />
<strong>&lt;rewriteMaps configSource="rewritemaps.config"&gt;&lt;rewriteMaps&gt;</strong><br />
&lt;rules&gt;<br />
&lt;rule name="Redirect rule1 for Redirects"&gt;<br />
&lt;match url=".*" /&gt;<br />
&lt;conditions&gt;<br />
&lt;add input="{Redirects:{REQUEST_URI}}" pattern="(.+)" /&gt;<br />
&lt;/conditions&gt;<br />
&lt;action type="Redirect" url="{C:1}" appendQueryString="false" /&gt;<br />
&lt;/rule&gt;<br />
&lt;/rules&gt;<br />
&lt;/rewrite&gt;<br />
&lt;/system.webServer&gt;<br />
&lt;/configuration&gt;<br />
<strong>Step 4: Load into IIS</strong></p>
<p dir="auto">La risposta che ho inserendo index.htm verso index.html è errore 500 che sono andato a vedere qua<br />
sembra che sia un problema di permessi<br />
https: // support . microsoft . com / en-us /kb /942055<br />
ApplicationHost.config and Web.config files so that IIS_IUSRS has the Read permission for those files<br />
Avete suggerimenti?<br />
Grazie</p>
]]></description><link>https://connect.gt/post/410229</link><guid isPermaLink="true">https://connect.gt/post/410229</guid><dc:creator><![CDATA[fiocco]]></dc:creator><pubDate>Mon, 28 Dec 2015 15:02:06 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Sun, 30 Aug 2015 17:02:49 GMT]]></title><description><![CDATA[<p dir="auto">Ciao a tutti, sto impazzendo su un lavoro che sembra facilissimo,<br />
soprattutto dopo aver visto la vasta gamma dei servizi che offre IIS, ma per il quale non so piu cosa provare.</p>
<p dir="auto">Ho un sito web su aruba windows 2008 e vorrei riscrivere gli url soprattutto per le pagine dinamiche.<br />
Una pagina dinamica tipo è fatta così:<br />
catalogo.asp?scat=120&amp;cat=240</p>
<p dir="auto">dove scat riporta ID della SCategoria e cat riporta ID della Categoria</p>
<p dir="auto">Quello che vorrei fare è ottenere un risultato dove prendo dal<br />
database access il contenuto della SCategoria collegato a quel ID e<br />
metterlo nel link</p>
<p dir="auto">Quindi tipo questo:</p>
<p dir="auto">CONTENUTO-DELLA-CELLA-CON-ID-120</p>
<p dir="auto">ancora meglio se</p>
<p dir="auto">CONTENUTO-DELLA-CELLA-CON-ID-120/CONTENUTO-DELLA-CELLA-CON-ID-240</p>
]]></description><link>https://connect.gt/post/410235</link><guid isPermaLink="true">https://connect.gt/post/410235</guid><dc:creator><![CDATA[partisan75]]></dc:creator><pubDate>Sun, 30 Aug 2015 17:02:49 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Wed, 21 Jul 2010 07:28:18 GMT]]></title><description><![CDATA[<p dir="auto">ciao Ragazzi<br />
per caso qualcuno ha poi accusato una scarsa visibilità su google con i siti in cui è applicato l'url rewrite con ASPnet 3.5 e gli url sono gestiti con l'<a href="http://ASP.NET" rel="nofollow ugc">ASP.NET</a> Routing?</p>
<p dir="auto">Noi abbiamo un caso di un sito spiderato da google ma non in maniera completa, inoltre sul webmaster tool compaiono errori di scansione stranissimi, di pagine che nella realtà non esistono.<br />
sulla maggior parte degli HTTP / HTTPS Header Check non sembrano ci siano problemi...</p>
<p dir="auto">qualcuno ha qlc risorsa dove studiare meglio questo lato seo che come avete capito non mi appartiene?</p>
]]></description><link>https://connect.gt/post/410216</link><guid isPermaLink="true">https://connect.gt/post/410216</guid><dc:creator><![CDATA[fra.975]]></dc:creator><pubDate>Wed, 21 Jul 2010 07:28:18 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Wed, 28 Apr 2010 16:53:50 GMT]]></title><description><![CDATA[<p dir="auto">perfetto ci sono riuscito facilmente con la libreria UrlRewritingNet.UrlRewriter.dll grazie hai vostri consigli grazie</p>
]]></description><link>https://connect.gt/post/410223</link><guid isPermaLink="true">https://connect.gt/post/410223</guid><dc:creator><![CDATA[floppino]]></dc:creator><pubDate>Wed, 28 Apr 2010 16:53:50 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Wed, 28 Apr 2010 04:50:42 GMT]]></title><description><![CDATA[<p dir="auto">Ma per la libreria urlrewritingnet bisogna usare solo il file web.confing da quello che ho capito giusto, da li bisogna settarsi la lista dei regex?</p>
<p dir="auto">Perche se cosi preferisco questa strada rispetto al metodo in <a href="http://asp.net" rel="nofollow ugc">asp.net</a> degli handler, perche penso che una libreria esterna sia molto meglio di codice scritto da me <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=5l94qfpgdvn" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /></p>
]]></description><link>https://connect.gt/post/410222</link><guid isPermaLink="true">https://connect.gt/post/410222</guid><dc:creator><![CDATA[floppino]]></dc:creator><pubDate>Wed, 28 Apr 2010 04:50:42 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Tue, 27 Apr 2010 14:47:50 GMT]]></title><description><![CDATA[<p dir="auto">siccome mi interessa quest articolo vorrei sapere ma<br />
la classe HandleIt cosa bisogna modificare di preciso <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f61e.png?v=5l94qfpgdvn" class="not-responsive emoji emoji-android emoji--disappointed" title=":(" alt="😞" /></p>
<p dir="auto">using System;<br />
using <a href="http://System.Web" rel="nofollow ugc">System.Web</a>;<br />
using System.Web.UI;<br />
using System.Globalization;</p>
<p dir="auto">namespace devHttpHandler<br />
{<br />
public class HandleIt : IHttpHandlerFactory<br />
{<br />
public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated)<br />
{<br />
// ritorno l'IHttpHanlder<br />
// I parametri da passare sono:<br />
// virtualPath (il path della richiesta),<br />
// inputFile (il percorso fisico del file da richiamare),<br />
...................... eccc</p>
<p dir="auto">bisogna lasciarla cosi com'è tranne che modificare "/articolo.aspx" in quello che vogliamo ?<br />
nella riga<br />
return System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath("/Article.aspx",typeof(Page)); oppure va implementato altro in questa classe se si cosa</p>
<p dir="auto">bisogna quindi solo modificare page_preinit<br />
e il metodo findArticolo nella specifica pagina .aspx?<br />
Perchè l'autore dice di non aver scritto molto codice di controllo e non capisco quale parte di codice modificare per le propie esigenze specialmente per la clase HandleIt cosa va modificato di preciso solo la stringa  "/articolo.aspx" e se si come faccio poi ad avere un url-rewrite su più pagine invece di 1 diverse da "\articolo",  sto andando in pallone su questa cosa</p>
]]></description><link>https://connect.gt/post/410221</link><guid isPermaLink="true">https://connect.gt/post/410221</guid><dc:creator><![CDATA[floppino]]></dc:creator><pubDate>Tue, 27 Apr 2010 14:47:50 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Tue, 13 Oct 2009 10:21:29 GMT]]></title><description><![CDATA[<p dir="auto">Scusa Legolas ho risolto, avevi ragione, ho modificato nel datalist i link con i parametri corretti, ID e NOME. Che tonta.</p>
<p dir="auto">Ma nel caso ci siano più parametri, e volessi visualizzare il NOME del prodotto, passando solo l'ID come posso fare?</p>
<p dir="auto">/subcat.aspx?catid=$1&amp;nome=$2</p>
<p dir="auto">in</p>
<p dir="auto">/nomeprodotto.aspx</p>
<p dir="auto">Ti ringrazio per l'aiuto!!</p>
]]></description><link>https://connect.gt/post/410236</link><guid isPermaLink="true">https://connect.gt/post/410236</guid><dc:creator><![CDATA[sexydragon]]></dc:creator><pubDate>Tue, 13 Oct 2009 10:21:29 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Tue, 13 Oct 2009 07:23:25 GMT]]></title><description><![CDATA[<p dir="auto">:(): ah!!</p>
<p dir="auto">E nel caso gli id siano dinamici, senza sapere quale ID corrisponde, nel mio caso la categoria? come traduco: /categoria/sottocategoria/nomeprodotto.html ?</p>
]]></description><link>https://connect.gt/post/410234</link><guid isPermaLink="true">https://connect.gt/post/410234</guid><dc:creator><![CDATA[sexydragon]]></dc:creator><pubDate>Tue, 13 Oct 2009 07:23:25 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Mon, 12 Oct 2009 17:51:41 GMT]]></title><description><![CDATA[<p dir="auto">Che vuol dire che ti visualizza il link della pagina con i parametri del db?</p>
<p dir="auto">La dll traduce gli url come questo :www.sito.com/scarpe/scarpe-da-tennsi.aspx in questo <a href="http://www.sito.com/prodotto.aspx?id=145" rel="nofollow ugc">www.sito.com/prodotto.aspx?id=145</a></p>
<p dir="auto">Non viceversa.</p>
]]></description><link>https://connect.gt/post/410215</link><guid isPermaLink="true">https://connect.gt/post/410215</guid><dc:creator><![CDATA[legolas]]></dc:creator><pubDate>Mon, 12 Oct 2009 17:51:41 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Mon, 12 Oct 2009 17:42:20 GMT]]></title><description><![CDATA[<p dir="auto">Guarda Legolas, sono convinto che sia un buon prodotto. Ma le provo tutte ed ancora non funziona.</p>
<p dir="auto">Continua a visualizzarmi sempre il link delle pagine con i parametri del DB.<br />
Da cosa può dipendere?</p>
<p dir="auto"><img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/customizations/f71a0c43-865f-4388-9868-8b387eebeeb1-mmmm.gif?v=5l94qfpgdvn" class="not-responsive emoji emoji-customizations emoji--mmm" title=":?" alt=":mmm:" /></p>
<pre><code> 
&lt;configSections&gt;
  &lt;section
   name="rewriter"
   type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" 
   requirePermission="false"
   /&gt;
 &lt;/configSections&gt;
 
...
&lt;httpModules&gt;
   &lt;add
    type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"
    name="UrlRewriter" /&gt;
  &lt;/httpModules&gt;
...
&lt;rewriter&gt;
  &lt;!--&lt;if url="/subcat.aspx?catid=$1" rewrite="/subcat/(.+)$" /&gt;--&gt;
  &lt;rewrite url="~/(.+)\.htm" to="~/subcat.aspx?catid=$2" /&gt;
 &lt;/rewriter&gt;

</code></pre>
]]></description><link>https://connect.gt/post/410233</link><guid isPermaLink="true">https://connect.gt/post/410233</guid><dc:creator><![CDATA[sexydragon]]></dc:creator><pubDate>Mon, 12 Oct 2009 17:42:20 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Tue, 18 Aug 2009 09:32:58 GMT]]></title><description><![CDATA[<p dir="auto">Auesto potrebbe essere un esempio di web.config:<br />
in pratica viene riconosciuto un url di questo ripo : <a href="http://www.sito.ext/prodotto/scarpe-da-tennis.aspx" rel="nofollow ugc">www.sito.ext/prodotto/scarpe-da-tennis.aspx</a></p>
<p dir="auto">L'engine richiamerà la pagina dettaglio.aspx passandogli come paramentro: scarpe-da-tennis.aspx che poi potrai utilizzare per ritrovare il prodotto esatto</p>
<pre><code>
&lt;?xml version="1.0"?&gt;
&lt;configuration&gt;
    &lt;configSections&gt;
        &lt;section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter"/&gt;
    &lt;/configSections&gt;
    &lt;system.web&gt;
        &lt;globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8"/&gt;
        &lt;httpModules&gt;
            &lt;add type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" name="UrlRewriter"/&gt;
        &lt;/httpModules&gt;
    &lt;/system.web&gt;
    
&lt;rewriter&gt;
        &lt;rewrite url="~/prodotto\/(.+/)?(.+\.aspx)" to="~/dettaglio.aspx?page=$2"/&gt;
        
        
    &lt;/rewriter&gt;
&lt;/configuration&gt;


</code></pre>
]]></description><link>https://connect.gt/post/410211</link><guid isPermaLink="true">https://connect.gt/post/410211</guid><dc:creator><![CDATA[legolas]]></dc:creator><pubDate>Tue, 18 Aug 2009 09:32:58 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Tue, 18 Aug 2009 09:04:17 GMT]]></title><description><![CDATA[<p dir="auto">Ah ho provato anche io ad installarla ieri, ma non sono riuscito a capire come implementare la regola per il rewriting della pagina dettaglio.aspx?id=1,2,ecc...<br />
Saresti cosi gentile da spiegarmi come si fa?</p>
<p dir="auto">grazie</p>
]]></description><link>https://connect.gt/post/410232</link><guid isPermaLink="true">https://connect.gt/post/410232</guid><dc:creator><![CDATA[vehuel]]></dc:creator><pubDate>Tue, 18 Aug 2009 09:04:17 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Tue, 18 Aug 2009 09:00:32 GMT]]></title><description><![CDATA[<p dir="auto">Vi segnalo questa utilissima dll open source che utilizzo anche io per implementare l'url rewrite <a href="http://urlrewriter.net/" rel="nofollow ugc">http://urlrewriter.net/</a></p>
]]></description><link>https://connect.gt/post/410214</link><guid isPermaLink="true">https://connect.gt/post/410214</guid><dc:creator><![CDATA[legolas]]></dc:creator><pubDate>Tue, 18 Aug 2009 09:00:32 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Tue, 18 Aug 2009 08:36:23 GMT]]></title><description><![CDATA[<p dir="auto">Sto cercando di implementare l'url rewrite nel mio sito ma ammetto che sto incontrando notevoli difficoltà, forse sbaglio l'approccio alla soluzione. In pratica vorrei che tutte le chiamate alla pagina dettaglio.aspx?id=1,2,3 ecc...... divenissero url statici.</p>
<p dir="auto">Ho seguito passo passo le iostruzioni, ho compilato la dll, ho inserito nel global.asax nell'application begin_request il seguente codice:<br />
string originalPath = HttpContext.Current.Request.Path;<br />
string zSubst = URLRewriter.Rewriter.Process(originalPath);<br />
if (zSubst.Length &gt; 0 &amp;&amp; !originalPath.Equals(zSubst))<br />
HttpContext.Current.RewritePath(zSubst);</p>
<p dir="auto">Poi nel web.config:</p>
<p dir="auto">&lt;configSections&gt;<br />
&lt;sectionGroup name="<a href="http://system.web" rel="nofollow ugc">system.web</a>"&gt;<br />
&lt;section name="urlrewrites" type="URLRewriter.Rewriter, URLRewriter"/&gt;<br />
&lt;/sectionGroup&gt;<br />
&lt;/configSections&gt;</p>
<p dir="auto">ed infine in system web:<br />
&lt;urlrewrites&gt;<br />
&lt;rule&gt;<br />
&lt;url&gt;^/[^/,]<em>,([0-9]</em>).aspx&lt;/url&gt;<br />
&lt;rewrite&gt;/dettaglio.aspx?id=$1&lt;/rewrite&gt;<br />
&lt;/rule&gt;<br />
&lt;/urlrewrites&gt;</p>
<p dir="auto">Ma gli url non vengono riscritti, riuscireste a darmi una mano per favore?</p>
<p dir="auto">grazie</p>
]]></description><link>https://connect.gt/post/410230</link><guid isPermaLink="true">https://connect.gt/post/410230</guid><dc:creator><![CDATA[vehuel]]></dc:creator><pubDate>Tue, 18 Aug 2009 08:36:23 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Mon, 15 Sep 2008 15:53:07 GMT]]></title><description><![CDATA[<p dir="auto">ciao, è possibile che l'httpHandlers  ne web.config non mi funzioni? continua a rarmi l'errore 404. la richiesta non viene passata alla classe HttpHandler! qualcuno sa perche'?</p>
]]></description><link>https://connect.gt/post/410231</link><guid isPermaLink="true">https://connect.gt/post/410231</guid><dc:creator><![CDATA[lord.henry]]></dc:creator><pubDate>Mon, 15 Sep 2008 15:53:07 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Tue, 06 Nov 2007 20:12:28 GMT]]></title><description><![CDATA[<p dir="auto">Come è finita poi la storia? Avete risolto con il multilinguaggio?</p>
]]></description><link>https://connect.gt/post/410225</link><guid isPermaLink="true">https://connect.gt/post/410225</guid><dc:creator><![CDATA[pcinformatica]]></dc:creator><pubDate>Tue, 06 Nov 2007 20:12:28 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Sat, 15 Sep 2007 18:09:35 GMT]]></title><description><![CDATA[<p dir="auto">Credo di aver risolto, mi è rimasto l'ultimo problema: come mai la variabile $1 mi risulta sempre vuota?</p>
]]></description><link>https://connect.gt/post/410219</link><guid isPermaLink="true">https://connect.gt/post/410219</guid><dc:creator><![CDATA[artistic101]]></dc:creator><pubDate>Sat, 15 Sep 2007 18:09:35 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Sat, 15 Sep 2007 15:14:40 GMT]]></title><description><![CDATA[<p dir="auto">@omar_ita said:</p>
<blockquote>
<p dir="auto">Questo codice utilizza un sistema differente: si utilizza l'evento BeginRequest di Application (in Global.asax) per leggere la pagina richiesta (HttpContext.Current.Request.Path) che viene trasformata tramite le regole (che sono in web.config) e reindirizzata tramite HttpContext.Current.RewritePath(string);<br />
Da tenere in considerazione quando si scrivono le regole è che se viene richiesta la pagina:</p>
</blockquote>
<p dir="auto"><a href="http://www.miosito.it/cartella/pagina.aspx" rel="nofollow ugc">http://www.miosito.it/cartella/pagina.aspx</a></p>
<p dir="auto">il valore ritornato da HttpContext.Current.Request.Path è</p>
<p dir="auto">/cartella/pagina.aspx</p>
<p dir="auto">In allegato c'è un progetto che potete includere nella vostra soluzione. Nel progetto web mettete un riferimento al progetto URLRewriter (o alla sola dll compilata) e poi in web.config aggiungete:</p>
<p dir="auto">&lt;configuration&gt;<br />
&lt;configSections&gt;<br />
&lt;sectionGroup name="<a href="http://system.web" rel="nofollow ugc">system.web</a>"&gt;<br />
&lt;section name="urlrewrites" type="URLRewriter.Rewriter, URLRewriter"/&gt;<br />
...<br />
...</p>
<p dir="auto">nella sezione configuration/configSections/sectionGroup e poi nella sezione<br />
&lt;<a href="http://system.web" rel="nofollow ugc">system.web</a>&gt; aggiungere:</p>
<pre><code> &lt;urlrewrites&gt;
  &lt;rule&gt;
    &lt;url&gt;^/[^/,]*,([0-9]*)\.aspx&lt;/url&gt;
    &lt;rewrite&gt;/showpage.aspx?id=$1&lt;/rewrite&gt;
  &lt;/rule&gt;
&lt;/urlrewrites&gt;
</code></pre>
<p dir="auto">in <strong>&lt;url&gt;</strong> c'è l'url originale e in <strong>&lt;rewrite&gt;</strong> quello riscritto (tramite regexp). Può essere aggiunto un numero qualsiasi di elementi <strong>&lt;rule&gt;</strong>. Questa regola (per chi non è partico di espressioni regolari) ad esempio cerca / all'inizio dell'indirizzo, poi una sequenza di caratteri qualsiasi escluso / e "," poi una virgola, una serie di cifre numeriche, il punto (che viene trattato tramite escape "") e aspx (se si cercano altre estensioni il metodo BeginRequest non viene invocato :(). La stringa viene sostituita con:</p>
<p dir="auto">** /showpage.aspx?id=**... (il numero letto dall'espressione precedente).</p>
<p dir="auto">Ad esempio: <strong>/pagina_interessante,2.aspx</strong> diventa <strong>/showpage.aspx?id=2</strong>. Da notare che l'url visualizza /pagina_interessante,2.aspx mentre in realtà la pagina caricata è showpage.aspx che leggerà il valore id in maniera assolutamente normale da QueryString.</p>
<p dir="auto">Infine creare la pagina Global.asax. <a href="http://ASP.NET" rel="nofollow ugc">ASP.NET</a> 2.0 non ha molta simpatia per questa pagina: deve essere creata "manualmente" scrivendo dentro:</p>
<p dir="auto">&lt;%@ Application Inherits="Global" %&gt;</p>
<p dir="auto">Il code behind non può essere inserito nel ramo principale (viene ignorato) ma deve essere creato nella cartella app.code e contiene il seguente codice:</p>
<p dir="auto">using System;<br />
using <a href="http://System.Web" rel="nofollow ugc">System.Web</a>;<br />
public class Global : System.Web.HttpApplication<br />
{<br />
protected void Application_BeginRequest(object sender, EventArgs e)<br />
{<br />
string originalPath = HttpContext.Current.Request.Path;<br />
string zSubst = URLRewriter.Rewriter.Process(originalPath);</p>
<pre><code>    if (zSubst.Length &gt; 0 &amp;&amp; !originalPath.Equals(zSubst))
        HttpContext.Current.RewritePath(zSubst);
}
</code></pre>
<p dir="auto">}</p>
<p dir="auto">Con questo sistema non mi sembra ci siano problemi di trust level. Il sistema dovrebbe funzionare anche su <a href="http://asp.net" rel="nofollow ugc">asp.net</a> 1.1 con opportune modifiche.</p>
<p dir="auto">Sto provando questo metodo ma ottengo sempre errore 404, ho notato che nel Web.config il valore &lt;urlrewrites&gt; non è consentito (compare un warning), sarà per questo che non va? :bho:</p>
]]></description><link>https://connect.gt/post/410218</link><guid isPermaLink="true">https://connect.gt/post/410218</guid><dc:creator><![CDATA[artistic101]]></dc:creator><pubDate>Sat, 15 Sep 2007 15:14:40 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Fri, 07 Sep 2007 23:19:41 GMT]]></title><description><![CDATA[<p dir="auto">grande Trykel, adesso è perfetto <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=5l94qfpgdvn" class="not-responsive emoji emoji-android emoji--wink" title=";)" alt="😉" /></p>
]]></description><link>https://connect.gt/post/410213</link><guid isPermaLink="true">https://connect.gt/post/410213</guid><dc:creator><![CDATA[legolas]]></dc:creator><pubDate>Fri, 07 Sep 2007 23:19:41 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Fri, 07 Sep 2007 09:25:16 GMT]]></title><description><![CDATA[<p dir="auto">Legolas,</p>
<p dir="auto">grazie per la correzione allo script segnalato da paocavo, però avendolo utilizzato ho dovuto apportare una piccola modifica per farlo funzionare.</p>
<pre><code>
return (IHttpHandler)BuildManager.CreateInstanceFromVirtualPath("~/Article.aspx", typeof(Page));

</code></pre>
<p dir="auto">In sostanza ho solo aggiunto il casting dell'oggetto restituito.</p>
]]></description><link>https://connect.gt/post/410228</link><guid isPermaLink="true">https://connect.gt/post/410228</guid><dc:creator><![CDATA[trykel]]></dc:creator><pubDate>Fri, 07 Sep 2007 09:25:16 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Tue, 28 Aug 2007 20:03:23 GMT]]></title><description><![CDATA[<p dir="auto">ottimo, grazie omar_ita, appena ho un po' di tempo lo voglio provare, proprio ora sto sbattendo la testa nella creazione di un motore rewrite per un sito multilingua dinamico <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f622.png?v=5l94qfpgdvn" class="not-responsive emoji emoji-android emoji--cry" title=":cry:" alt="😢" /> utilizzando gli httpHandler</p>
<p dir="auto">Approfitto per avvertire tutti coloro che utilizzano questo sistema che quando si tenta di scrivere una regola in questo modo</p>
<pre><code>&lt;add verb="*" path="/cartella/*" type="Namespace.UrlRewrite" /&gt;
</code></pre>
<p dir="auto">il caro web server di visual studio fa funzionare tutto alla grande mentre il buon iis ignora completamente questa regola e quindi l'url www.chetipare.ext/cartella non viene considerato.... questo perchè non c'è la mappatura delle cartelle.<br />
Il problema si risolve creando la suddetta mappatura peccato che iss inizierà a dare problemi con gli url, personalmente non ho approfondito la questione per motivi di tempo, probabilmente anche questo comportamento è facilmente correggibile.</p>
<p dir="auto"><img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/customizations/54a3bffb-5e4a-4eb8-81dc-99b2072e5d05-175.gif?v=5l94qfpgdvn" class="not-responsive emoji emoji-customizations emoji--ciauz" title=":ciauz:" alt=":ciauz:" /></p>
]]></description><link>https://connect.gt/post/410212</link><guid isPermaLink="true">https://connect.gt/post/410212</guid><dc:creator><![CDATA[legolas]]></dc:creator><pubDate>Tue, 28 Aug 2007 20:03:23 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Tue, 28 Aug 2007 19:19:26 GMT]]></title><description><![CDATA[<p dir="auto">Questo codice utilizza un sistema differente: si utilizza l'evento BeginRequest di Application (in Global.asax) per leggere la pagina richiesta (HttpContext.Current.Request.Path) che viene trasformata tramite le regole (che sono in web.config) e reindirizzata tramite HttpContext.Current.RewritePath(string);<br />
Da tenere in considerazione quando si scrivono le regole è che se viene richiesta la pagina:</p>
<p dir="auto"><a href="http://www.miosito.it/cartella/pagina.aspx" rel="nofollow ugc">http://www.miosito.it/cartella/pagina.aspx</a></p>
<p dir="auto">il valore ritornato da HttpContext.Current.Request.Path è</p>
<p dir="auto">/cartella/pagina.aspx</p>
<p dir="auto">In allegato c'è un progetto che potete includere nella vostra soluzione. Nel progetto web mettete un riferimento al progetto URLRewriter (o alla sola dll compilata) e poi in web.config aggiungete:</p>
<p dir="auto">&lt;configuration&gt;<br />
&lt;configSections&gt;<br />
&lt;sectionGroup name="<a href="http://system.web" rel="nofollow ugc">system.web</a>"&gt;<br />
&lt;section name="urlrewrites" type="URLRewriter.Rewriter, URLRewriter"/&gt;<br />
...<br />
...</p>
<p dir="auto">nella sezione configuration/configSections/sectionGroup e poi nella sezione<br />
&lt;<a href="http://system.web" rel="nofollow ugc">system.web</a>&gt; aggiungere:</p>
<pre><code> &lt;urlrewrites&gt;
  &lt;rule&gt;
    &lt;url&gt;^/[^/,]*,([0-9]*)\.aspx&lt;/url&gt;
    &lt;rewrite&gt;/showpage.aspx?id=$1&lt;/rewrite&gt;
  &lt;/rule&gt;
&lt;/urlrewrites&gt;
</code></pre>
<p dir="auto">in <strong>&lt;url&gt;</strong> c'è l'url originale e in <strong>&lt;rewrite&gt;</strong> quello riscritto (tramite regexp). Può essere aggiunto un numero qualsiasi di elementi <strong>&lt;rule&gt;</strong>. Questa regola (per chi non è partico di espressioni regolari) ad esempio cerca / all'inizio dell'indirizzo, poi una sequenza di caratteri qualsiasi escluso / e "," poi una virgola, una serie di cifre numeriche, il punto (che viene trattato tramite escape "") e aspx (se si cercano altre estensioni il metodo BeginRequest non viene invocato :(). La stringa viene sostituita con:</p>
<p dir="auto">** /showpage.aspx?id=**... (il numero letto dall'espressione precedente).</p>
<p dir="auto">Ad esempio: <strong>/pagina_interessante,2.aspx</strong> diventa <strong>/showpage.aspx?id=2</strong>. Da notare che l'url visualizza /pagina_interessante,2.aspx mentre in realtà la pagina caricata è showpage.aspx che leggerà il valore id in maniera assolutamente normale da QueryString.</p>
<p dir="auto">Infine creare la pagina Global.asax. <a href="http://ASP.NET" rel="nofollow ugc">ASP.NET</a> 2.0 non ha molta simpatia per questa pagina: deve essere creata "manualmente" scrivendo dentro:</p>
<p dir="auto">&lt;%@ Application Inherits="Global" %&gt;</p>
<p dir="auto">Il code behind non può essere inserito nel ramo principale (viene ignorato) ma deve essere creato nella cartella app.code e contiene il seguente codice:</p>
<p dir="auto">using System;<br />
using <a href="http://System.Web" rel="nofollow ugc">System.Web</a>;<br />
public class Global : System.Web.HttpApplication<br />
{<br />
protected void Application_BeginRequest(object sender, EventArgs e)<br />
{<br />
string originalPath = HttpContext.Current.Request.Path;<br />
string zSubst = URLRewriter.Rewriter.Process(originalPath);</p>
<pre><code>    if (zSubst.Length &gt; 0 &amp;&amp; !originalPath.Equals(zSubst))
        HttpContext.Current.RewritePath(zSubst);
}
</code></pre>
<p dir="auto">}</p>
<p dir="auto">Con questo sistema non mi sembra ci siano problemi di trust level. Il sistema dovrebbe funzionare anche su <a href="http://asp.net" rel="nofollow ugc">asp.net</a> 1.1 con opportune modifiche.</p>
]]></description><link>https://connect.gt/post/410220</link><guid isPermaLink="true">https://connect.gt/post/410220</guid><dc:creator><![CDATA[omar.ita]]></dc:creator><pubDate>Tue, 28 Aug 2007 19:19:26 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Wed, 28 Feb 2007 09:06:48 GMT]]></title><description><![CDATA[<p dir="auto">Ottimo Legolas!</p>
<p dir="auto">Grazie per la segnalazione <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/customizations/061bc93e-2aad-41a0-b635-5952b939da08-pulp.gif?v=5l94qfpgdvn" class="not-responsive emoji emoji-customizations emoji--figo" title=":figo:" alt=":figo:" /></p>
]]></description><link>https://connect.gt/post/410217</link><guid isPermaLink="true">https://connect.gt/post/410217</guid><dc:creator><![CDATA[paocavo]]></dc:creator><pubDate>Wed, 28 Feb 2007 09:06:48 GMT</pubDate></item><item><title><![CDATA[Reply to URL REWRITE in ASP.NET 2.0 on Tue, 27 Feb 2007 22:55:20 GMT]]></title><description><![CDATA[<p dir="auto">Faccio un piccolo appunto,<br />
purtroppo il rewrite tramite la personalizzazione degli httpHandler funziona solamente con il trust level impostato su full, e generalmente gli hosting condivisi hanno il trust level impostato a medium.</p>
<p dir="auto">Ciò vuol dire che quando il compilatore arriva qui:</p>
<pre><code>return PageParser.GetCompiledPageInstance("/Article.aspx", context.Server.MapPath("/Article.aspx"), context);
```viene generata un'eccezione. ( e si danno le capocciate nel muro...:x:x)
(solo se si è in medium)

Fortunatamente è possibile risolvere quest'inconveniente sostituendo la riga di prima con questa:

C#
</code></pre>
<p dir="auto">return System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath("/Article.aspx",typeof(Page));</p>
<pre><code class="language-VB"></code></pre>
<p dir="auto">Return System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath("/Article.aspx",GetType(Page))</p>
<pre><code>
Ciao
:ciauz:</code></pre>
]]></description><link>https://connect.gt/post/410210</link><guid isPermaLink="true">https://connect.gt/post/410210</guid><dc:creator><![CDATA[legolas]]></dc:creator><pubDate>Tue, 27 Feb 2007 22:55:20 GMT</pubDate></item></channel></rss>