2010-10-27 17 views
6

que estoy buscando es un enfoque de "mejores prácticas" para la creación de Apache httpd (2.2) con Tomcat 6 de manera que podemos:¿Cómo fijo Apache y Tomcat para JSP y SEO-friendly URLs limpias

  1. Permitir que se sirvan archivos JSP para listas de directorios (p. Ej. Http: /www.example.com muestra index.jsp a través de DirectoryIndex index.jsp).

  2. Oculte las extensiones de todas las URL (tanto los archivos * .html y * .php servidos por Apache y * .jsp servidos por Tomcat) para que sean compatibles con el SEO. Entonces, por ejemplo, http: /www.example.com/about-us podría resolverse en about-us.jsp.

Lo que estoy buscando es el enfoque "recomendado" para hacer esto (ejemplos serían fenomenales). Soy consciente de mod_rewrite, mod_jk, mod_proxy_ajp y mod_proxy_http, pero lo que estoy buscando son pros/contras y cualquier experiencia que la gente pueda tener con uno u otro y cómo fue la configuración de todo.

Todos los consejos son bienvenidos.

Gracias

Respuesta

3

Estas son las directrices que conozco:

  • tratar de hacer lo más posible en su aplicación sin el uso de Apache. Esto facilitará el alojamiento de su aplicación y le ayudará a mantener su aplicación, porque toda la lógica está en un solo lugar. Ventaja adicional: no necesita Apache para ejecutar su aplicación localmente.

  • Una forma de hacerlo con tomcat es usar su web.xml. Por ejemplo, para llegar a la página de inicio: /homepage.jsp

Aquí está un ejemplo de cómo se puede asignar cualquier URL, en este caso "/ detalle" al archivo /detailpage.jsp:

<servlet> 
    <servlet-name>detail</servlet-name> 
    <jsp-file>/detailpage.jsp</jsp-file> 
</servlet> 
<servlet-mapping> 
    <servlet-name>detail</servlet-name> 
    <url-pattern>/detailpage</url-pattern> 
</servlet-mapping> 

Para obtener más información sobre cómo utilizar el archivo web.xml: http://code.google.com/appengine/docs/java/config/webxml.html

Ahora, esto puede llegar a ser tedioso cuando se tiene una gran cantidad de documentos, pero Supongo que en ese caso comenzarías a usar un CMS que solucionó esto por ti, ¿verdad? Así es como se hace en Hippo CMS, por ejemplo: http://www.onehippo.org/7_7/library/concepts/request-handling/sitemapitem-matching.html.

En buenas URL's: No creo que se considere una mala práctica agregar .jsp o .html a los detalles. Personalmente, me gusta .html para las páginas de detalles y solo el nombre para las páginas de resumen, pero supongo que es una cuestión de gusto. Aquí hay más información de respaldo del gobierno holandés da acerca de usar url de: http://versie1.webrichtlijnen.nl/english/manual/development/production/permanent-unique-urls/friendly-urls/

responsabilidad: Usted no debe ver la referencia de Hipona como una referencia exclusiva. Trabajo para Hippo, así que hice referencia a la implementación de correspondencia de URL que conozco. Otros CMS (basados ​​en Java) que pueden tener soluciones similares se pueden encontrar aquí: http://en.wikipedia.org/wiki/List_of_content_management_systems#Java

Cuestiones relacionadas