Domanda

Sto cercando di creare una regola di riscrittura che cattura tutti i www.domain.com/ (dovrebbe funzionare sia con che senza trattino) e riscriverlo a /index.php?folder= DynamicFolder e consente anche parametri aggiuntivi.

La cosa è che ci dovrebbero essere alcune eccezioni, in cui la regola di riscrittura non dovrebbe applicarsi, dove la richiesta effettivamente dovrebbe aprire / guardare in una cartella reale.Alcune cartelle riservate, potresti chiamarla.Esempi di cartelle in cui la regola deve essere ignorata: "Immagini", "include" e "admin".

Ho una regola di riscrittura ora, quel tipo di fa il lavoro, ma è solo per i nomi delle cartelle dinamici con esattamente 2 caratteri.La nuova regola non dovrebbe avere alcuna limitazione, e anche - per essere esigente, dovrebbe essere possibile lasciare un nome di una cartella dinamica e avere il resto del lavoro dell'URL di riscrittura.: -)

<rule name="Langrewrite" enabled="true">
  <match url="^([a-z]{2,2})/([_0-9a-zA-Z]+)\.html" />
  <conditions logicalGrouping="MatchAll" />
  <action type="Rewrite" url="/index.php?navItem={R:2}&amp;lang={R:1}" />
</rule>
.

È stato utile?

Soluzione

La tua domanda è un po 'vaga in luoghi, ma cercherà di indovinare il tuo requisito:

<rule name="DynamicFolder" stopProcessing="true">
    <match url="^(?!(?:images|includes|admin))(.+?)/" />
    <action type="Rewrite" url="/index.php?folder={R:1}" />
</rule>
.

Altri suggerimenti

Potrebbe essere esattamente ciò che Tomek ha detto, ma è così che è finito:

            <rule name="Dynamic Folders" stopProcessing="true">
                <match url="^(?!errorPages/|files/|gfx/)([a-zA-Z-]*)/?([a-zA-Z-]*)/([_0-9a-zA-Z]*)(\.html|\.htm)?" />
                <action type="Rewrite" url="/index.php?var1={R:1}&amp;var2={R:2}&amp;var3={R:3}&amp;var4={R:4}" />
            </rule> 
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top