2009-10-04 30 views
17

¿Hay alguna manera de ejecutar un sitio web ASP.NET en una subcarpeta del sitio web?Ejecutar un sitio web ASP.NET en una subcarpeta

Como ejemplo, digamos que quería ejecutar el wiki de cambio de cero (http://www.screwturn.eu/) en una carpeta llamada "wiki" en mi sitio web, ¿puedo modificar el web.config del sitio web screwturn para decirle que se está ejecutando en el carpeta "wiki"? (como decir que "~ /" = "/ wiki /")

El wiki encontraría sus ensamblajes que están en "~/bin" en "/ wiki/bin" y lo mismo para todas las demás carpetas debajo del nueva raíz

+1

Terminé teniendo un nuevo subdominio creado para la wiki, por lo que el sitio sería un sitio raíz. –

Respuesta

13

Por hacer, puedes agregar un directorio virtual a la raíz del sitio web de IIS y señalarlo en la ruta de tu sitio o colocarlo como un directorio físico en la raíz del sitio web y luego convertirlo en una aplicación por derecho -haciendo clic en él en la consola de administración de IIS, yendo a las propiedades y haciendo clic en "Crear" al lado del nombre de la aplicación.

+0

Aunque no lo mencioné, no tengo el control del servidor web. Pero esto es lo más cercano a la solución que tomé, que era crear un subdominio (wiki.mydomainname.org). Marcaré esto como la respuesta porque sus sugerencias están en la marca si tuviera acceso a IIS en el cuadro de ISP. –

+0

Me cansé de esto, pero ahora IIS se queja de que no se puede encontrar el código detrás de la clase para la página de inicio de sesión. ¿Los sitios secundarios heredan los mismos dlls que los padres? Debido a que el inicio de sesión en la clase de página para el sitio secundario se compila en los sitios principales dll, ya que es el mismo proyecto en VS. – James

+1

Necesita una aplicación completa e independiente en la carpeta; de lo contrario, buscará un directorio bin que no exista. –

-1

La respuesta corta es SÍ. No es necesario especificar la ubicación de la carpeta en Web.Config.

+0

Supongo que tiene un web.config en la carpeta wiki. "/ wiki/bin" se encuentra automáticamente por el tiempo de ejecución. –

+0

Pero las páginas no se cargan, alegando que "El archivo '/MasterPage.master' no existe.". La directiva aspx page tiene MasterPageFile = "~/MasterPage.master". La pregunta es cómo hago que resuenen a "/wiki/MasterPage.master" en lugar de "/ MasterPage.master". –

+0

¿La carpeta "wiki" está configurada como una aplicación en IIS? –

0

Tuve que hacer esto recientemente, y habiendo convertido la carpeta wiki en una aplicación (como se sugirió en las respuestas anteriores) también tuve que colocar una carpeta ficticia 'App_Themes -> Default' en el nivel superior dentro de la aplicación Wiki debido a la presencia de la etiqueta <pages styleSheetTheme="default" theme="default"> en la aplicación principal Web.config. Pequeño truco, pero así es como me gusta configurar mis estilos en Asp.Net, y no quería cambiar eso.

9

Debe detener la herencia de configuración en el archivo raíz web.config para que la wiki web.config no lea nada de la raíz web.config.

+1

? El sitio en vivo para el enlace de arriba está muerto. La copia en caché se puede encontrar [aquí] (http://web.archive.org/web/20131024031827/http://www.aspdotnetfaq.com/Faq/how-to-disable-web-config-inheritance-for- child-applications-in-subfolders-in-asp-net.aspx) – Fuchida

+0

La copia en caché se ha retirado debido al archivo.política de robots.txt de org. –

+0

Consulte https://stackoverflow.com/questions/782252/avoid-web-config-inheritance-in-child-web-application-using-inheritinchildapplic – VDWWD

4

Como otros señalaron. Básicamente, debe poner esto en su aplicación secundaria Web.config, por supuesto, también necesita configurar el dominio (subdominio, etc.), configuración de IIS también.

<configuration>  
    <location path="." inheritInChildApplications="false"> 

    //your code here 

    <system.web> 
     //your code here 
    </system.web> 

    //your code here 

    </location>  
</configuration> 
+0

Si tiene ' 's' en su web.config, esos deben estar fuera de la etiqueta ''. –

Cuestiones relacionadas