Pregunta

Se mencionó stackoverflow solo como ejemplo, pero si mira por encima de la URL para preguntar es

http://stackoverflow.com/questions/ask

lo que significa que / ask es un subdirectorio, pero también lo hacen para las páginas de preguntas específicas. ¿Cómo codificas esto en .NET?

No es una pregunta de código tanto como una técnica. Sé que esto es genial para SEO, pero ¿cómo creas un sitio para que cada " página " es su propio directorio? Dinámicamente.

¿Tienes una plantilla o un redireccionamiento oculto?

¿Cómo? :)

¿Fue útil?

Solución

Se denomina reescritura de URL:

Reescritura de URL con ASP.NET

MSDN: Reescritura de URL en ASP.NET

EDIT : Como apunta @Justice, StackOverflow usa Enrutamiento .

Otros consejos

StackOverflow usa algo llamado Enrutamiento, que viene con .NET 3.5 SP1. El enrutamiento es una característica popular de varios marcos MVC, como ASP.NET MVC, Ruby on Rails y varios marcos Python y PHP.

Stack Overflow se creó utilizando ASP.NET MVC, que utiliza una técnica llamada Enrutamiento, consulte:

¿Con qué se creó el desbordamiento de pila?

y Enrutamiento

El Desbordamiento de pila utiliza ASP.net MVC

MVC usa la URL + Cadena de consulta para determinar el contenido, por lo que no es como una URL que apunta a una página específica, sino más bien como una ruta jerárquica a las propiedades de algunos datos que se mostrarán

E.G. https://stackoverflow.com/users/[Put ID de usuario aquí] / [Put User Name Here]

solicita al sitio web que muestre un USUARIO con una ID especificada en la ruta (en este caso, el nombre de usuario es probablemente solo por motivos) en lugar de una página específica creada solo para ese usuario.

He visto esto logrado simplemente creando una carpeta para cada página web y luego cada carpeta contiene un documento Default.aspx (Suponiendo que Default.aspx se configura como un documento predeterminado en IIS, que es de forma predeterminada). Luego, puede navegar a cualquier carpeta del sitio sin especificar la página (Default.aspx).

Para la parte dinámica, he trabajado con sistemas CMS que lo hacen de esta manera y la página Default.aspx simplemente se hereda de alguna plantilla maestra y el sistema CMS utiliza la representación de ASP.NET para completar dinámicamente la página web. / p>

El uso de carpetas puede ser un poco pesado con la estructura del sitio, pero es una forma fácil de eliminar los nombres de página del navegador.

Así es como estructuro mi sitio web y evito tener que usar nombres de página ... por ejemplo, http: // www.innovaapps.net/Blog simplemente abre la página default.aspx sin tener que especificar el nombre de la página.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top