es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Web.config Reescribe subcarpetas particulares a querystrings

He buscado y probado muchas reglas de reescritura pero ninguna coincidió con mi requisito. En una carpeta específica (no en todo el sitio web), digamos http://www.example.com/company/, quiero reescribir todas las subcarpetas para ejecutar una página con una cadena de consulta. Por ejemplo:

http://www.example.com/company/test

debería mostrar el contenido de

http://www.example.com/company/index.aspx?title=test

this fue la respuesta más cercana a mi pregunta, pero se trata de la carpeta raíz del sitio web, no una carpeta específica, así que no pude entender la lógica de {R:0} {R:1}, etc.









Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para reescribir todas las subcarpetas en una carpeta en particular `http://www.example.com/company/` para ejecutar una página con una cadena de consulta, puede utilizar la siguiente regla de reescritura en el archivo web.config:

    <rule name="Rewrite Subfolders">
        <match url="^company/(.+)$"></match>
        <action type="Rewrite" url="/company/index.aspx?title={R:1}"></action>
    </rule>
    

    Esta regla coincidirá con cualquier URL que comience con company/ seguido de uno o más caracteres y lo reescribirá a /company/index.aspx?title=, agregando el nombre de la subcarpeta como parámetro de cadena de consulta.

    Por ejemplo, si solicita http://www.example.com/company/test`, se reescribirá a/company/index.aspx?title=testy se mostrará el contenido dehttp://www.example.com/company/index.aspx?title=test`.

    Tenga en cuenta que esta regla debe colocarse en la sección <system.webserver><rewrite><rules> del archivo web.config y que es posible que deba habilitar la reescritura de URL en IIS si aún no está habilitada.</system.webserver>

Comments are closed.