2010-03-21 15 views

Respuesta

5

Si está usando Apache, simple do (en .htaccess) :

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^yourdomain.com 
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301] 

De esta manera se asegura de todo lo que no está utilizando www comienza a utilizar

ACTUALIZACIÓN Como mencionaste no tienes apache, recordé que usé this hace aproximadamente un año. Hace más o menos lo mismo que mod_rewrite, y es totalmente compatible con Tomcat. Lo usé con resina, pero sé que funciona de la misma manera.

Lo mejor de todo es que también se ejecuta en "estilo mod_rewrite", como puede ver here. La única razón por la que no lo seguí usando es porque terminará haciéndolo a nivel de servidor, en contraposición a un nivel de servidor web. Lo que significa que llamará a la JVM para interpretar la redirección.

Sin embargo, funciona de la misma manera, y como se mencionó anteriormente, puede demandar exactamente lo mismo que usaría en Apache.

+0

Hola, Gracias por su respuesta. Sé cómo se hace con Apache. Lamentablemente, no tengo Apache, solo Tomcat. – bashan

+0

@bashan He actualizado mi respuesta con más información –

+1

Gracias.Ajuste menor a RewriteRule para evitar un doble/en la URL redirigida: 'RewriteRule^/? (. *) Https://www.yourdomain.com/$1 [R = 301, L]' –

6

El tuckey url rewrite filter puede usarse como este para hacer el cambio de dirección correcta:

<rule> 
    <name>Canonical Hostnames</name> 
    <condition name="host" operator="notequal">^www.mydomain.com</condition> 
    <condition name="host" operator="notequal">^$</condition> 
    <from>^/(.*)</from> 
    <to type="redirect" last="true">http://www.mydomain.com/$1</to> 
</rule> 
1

wwwizer.com ofrece dominio simple libre de redirigir http://wwwizer.com/naked-domain-redirect

punto de su dominio simple como mysite.com a su IP, y harán una redirección 301 a www.misitio.com

El uso de una redirección 301 es la forma recomendada para la optimización SEO.

0

Usando Tuckey UrlRewriteFilter, también se puede utilizar la siguiente regla:

<rule> 
    <condition type="header" name="host" operator="equal">^[^.]+[.][^.]+$</condition> 
    <from>^/.*</from> 
    <to qsappend="true" type="redirect" last="true">${replaceFirst:%{request-url}://://www.}</to> 
</rule> 

Ésta es bastante interesante, ya que nada está codificado: funciona para cualquier dominio y mantiene el número de puerto y protocolo.

Parece que las funciones se implementan desde v3.1.


Hay un problema conocido con el atributo qsappend: https://code.google.com/p/urlrewritefilter/issues/detail?id=116. Debe implementar la corrección especificada en el enlace.

Simplemente cree el paquete org.tuckey.web.filters.urlrewrite en su aplicación web, cree la clase NormalRule en ella y copie y pegue el contenido de la siguiente clase: http://urlrewritefilter.googlecode.com/svn/trunk/src/main/java/org/tuckey/web/filters/urlrewrite/NormalRule.java.

Cuestiones relacionadas