Avisos
Vaciar todo

Redirigir mis visitas a una url dependiendo del nivel de mi web en el que se encuentren.  

 
Javier
 Javier
Estimable Member

Hola, lo que quiero es redirigir todas las visitas a mi web a una única url porque dicen que tener la web duplicada (en mi caso pentaduplicada) es malo para el SEO.
Ahora tengo cinco dominios:
www.ipcamara.es
www.remotevision.es
www.chuango.com.es
www.apexis.com.es
www.apexis.es

En mi cPanel en "Dominios Apuntados" tengo lo mostrado en la cap. 24.PNG

y en "Redirecciones" tengo lo mostrado en la cap. 25.PNG

Ahora bien, cuando se escribe en la barra de direcciones de cualquier navegador cualquiera de mis dominios (ya sea con o sin "www") se me redirecciona a "www.apexis.es" Eso me gusta. El problema viene cuando, ya sea en el buscador de google o porque se escriba la url directamente, si accedes a otra página que no sea la de inicio no realiza esa redirección.
Ejemplo si vas a "ipcamara.es" te redirige a "www.apexis.es" pero si vas a "ipcamara.es/demo" no se produce ninguna redirección y a mi me gustaría que se redireccionara a "www.apexis.es/demo" ya que si esta redirección no se produce se estará navegando por la web "ipcamara.es" hasta que se vuelva a la página de inicio y ya serás redirigido a "www.apexis.es". Además la página "www.apexis.es/demo" es idéntica a la "www.apexis.es/demo.html" y no sé si eso también se considera duplicidad y perjudica al SEO. Esto pasa con todas las páginas que son igual con o sin "html" al final.

¿Hay alguna manera de conseguir la redirección al dominio "www.apexis.es/???" para todas las direcciones y no solo para la página de inicio?

Por último, el rizar el rizo es lo que me gustaría que pasara con una de mis categorías. Concretamente la categoría Chuango. Me gustaría que todas las direcciones de mi página web que empiecen por "www.apexis.es/productos/chuango" sean redirigidas a "www.chuango.com.es/productos/chuango/???".
¿Se puede hacer esto?

Gracias de antemando y si necesitáis que me explique mejor en algo pedírmelo.

URL del sitio: Contenido solo visible a usuarios registrados

Citar
Respondido : 09/08/2013 8:11 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola Javier

Debes usar expresiones regulares, revisa el siguiente artículo , específicamente la parte final:

http://www.desarrolloweb.com/articulos/cambio-url-redireccion-301-htaccess.html

Puedes modificar el código de redirección que ya tienes creado en tu archivo .htaccess.

Asegúrate de que el código de redirección siempre sea el primer código, en las primeras líneas, que se encuentre en el archivo.

Lo mismo aplicaría para la categoría, tendrías que crear un código de redirección de manera manual.

Saludos

ResponderCitar
Respondido : 09/08/2013 8:34 pm

Cursos Gratuitos WordPress

Javier
 Javier
Estimable Member

Muchas gracias Jhon, he aprendido un montón con el enlace que me has facilitado.

El problema es que debo estar haciendo algo mal, dado que todo me lo redirecciona a www.apexis.es pero es que me lo redirecciona todo a la página de inicio http://www.apexis.es/index.php
He intentado de todo pero me da la sensación de que hay algo que me sobreescribe las órdenes que le doy y me manda a la página de inicio.
La parte sensible del .htaccess es:

RewriteCond %{HTTP_HOST} ^ipcamara.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.ipcamara.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

RewriteCond %{HTTP_HOST} ^apexis.com.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.apexis.com.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

RewriteCond %{HTTP_HOST} ^remotevision.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.remotevision.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

Con el RewriteEngine On unas cuantas líneas más arriba.
He intentado usar explresiones regulares para lo de la redirección de la categoría chuango al dominio www.chuango.com.es pero no he conseguido nada. Supongo que el primer paso que tiene que funcionar es que cuando ponga www.ipcamara.es/faq me redirija a www.apexis.es/faq y no a www.apexis.es/index.php
Si escribo cualquiera de mis otros dominios a pelo me dirije a www.apexis.es que es lo que quiero, incluso cuando escribo chuango.com.es me lleva a www.apexis.es a pesar de que como ves en el .htaccess no le he indicado nada referente al dominio www.chuango.com.es , por eso pienso que hay algo que me está sobreescribiendo las órdenes que le doy. En cualquier caso copio aquí todo mi .htacces por si he pasado algo por alto.

RewriteOptions inherit
##
# @package		Joomla
# @copyright	Copyright (C) 2005 - 2013 Open Source Matters. All rights reserved.
# @license		GNU General Public License version 2 or later; see LICENSE.txt
##

##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
##

## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

## Mod_rewrite in use.

RewriteEngine On

## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*([^)]*) [OR]
# Block out any script that includes a  tag in URL.
RewriteCond %{QUERY_STRING} (|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.

## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects

##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

# RewriteBase /

## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.

RewriteCond %{HTTP_HOST} ^ipcamara.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.ipcamara.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

RewriteCond %{HTTP_HOST} ^apexis.com.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.apexis.com.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

RewriteCond %{HTTP_HOST} ^remotevision.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.remotevision.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

Si pudiérais ayudarme estaría muy agradecido.

Saludos.

ResponderCitar
Respondido : 10/08/2013 6:39 pm
Pablo Velasco
 Pablo Velasco
Illustrious Member

Hola,

En primer lugar haz una copia del código que tienes actualmente en el archivo .htaccess. Luego, borra las redirecciones que has creado en el CPanel. Comprueba si después de hacer esto te ha cambiado el archivo .htaccess y, de ser así, vuelve a aplicar los cambios de la redirecciones para ver si así funciona.

ResponderCitar
Respondido : 12/08/2013 8:40 am

wpdoctor-revisa-la-salud-de-tu-wordpress

Javier
 Javier
Estimable Member

Hola Pablo,

Eso ya lo he hecho. Y sí, si borro las redirecciones en el .htaccess se eliminan automáticamente del cPanel tanto del subapartado Dominio Apuntados como del subapartado Redirecciones. Se supone que cuando entras en esos apartados del cPanel leen el .htaccess y te muestran lo que en él se indica pero en modo gráfico.
De hecho si introduzco redirecciones manualmente en el .htaccess se reflejan en los subapartados anteriores como si las hubieras generado desde ellos.

Supongo que según vaya dándose cuenta google que hay viejas direcciones que apuntan a otras dejarán de reflejarseme las url antiguas cuando haces una búsqueda en google y poco a poco irán apareciendo solo as nuevas.

Por cierto, ¿Es normal que la redirección te mande siempre a la página de inicio independientemente de que le hayas intentado acceder a otra?
Ejemplo:
www.ipcamara.es/demo te redirecciona a www.apexis.es/index.php y no a www.apexis.es/demo como parecería lógico ya que he indicado el (.*) y el $1 en el RewriteRule

RewriteCond %{HTTP_HOST} ^www.ipcamara.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]
ResponderCitar
Respondido : 12/08/2013 9:07 am
Pablo Velasco
 Pablo Velasco
Illustrious Member

Hola,

Prueba un código como el siguiente para ver si funciona:

RewriteCond %{HTTP_HOST} ^www.ipcamara.es$ [NC]
RewriteRule ^(.*)$  http://www.apexis.es/$1  [R=301,L]
ResponderCitar
Respondido : 12/08/2013 9:42 am

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Javier
 Javier
Estimable Member

Hola,

Por un momento pensé que quitando las comillas, las barras oblicuas inversas "" antes de los caracteres ambiguos y añadiendo el "[NC]" estaba funcionando. Pero ya me estoy volviendo loco, porque no sigue ningún patrón que entienda.
Ejemplos:
- Caso 1 - Si pones ipcamara.es/productos o www.ipcamara.es/productos te lleva a www.apexis.es/productos Esto está genial.
- Caso 2 - Si pones www.ipcamara.es/contacto te lleva a www.apexis.es/contacto pero si pones ipcamara.es/contacto te lleva a www.apexis.es/index.php Esto no está mal del todo.
- Caso 3 - Si pones ipcamara.es/demo te lleva a www.apexis.es/demo pero si pones www.ipcamara.es/demo te lleva a www.apexis.es/index.php Esto está menos bien que el "Caso 2".
- Caso 4 - Si pones ipcamara.es/noticias o www.ipcamara.es/noticias te lleva a www.apexis.es/index.php Esto está mal.

Resumiendo que dependiendo de si pones o no "www." y de la página que visites de la web realiza un redireccionamiento u otro.

Estos cuatro casos se repiten por las distintas páginas de la web a mi juicio de manera aleatoria no solo con ipcamara.es, sino también con los otros dominios remotevision.es, apexis.com.es ...

Por si fuera poco la cosa ha llegado a tal extremo que aunque elimine todas las redirecciones del .htaccess las redirecciones se suigen produciendo. Sólo cuando he borrado un dominio apuntado me han surgido errores (como es natural) pero los cambios en las redirecciones no parecen aplicarse, o al menos no se aplican inmediatamente. Y el rizar el rizo es que si utilizas otro navegador los ejemplos mostrados cambian. Para que se reproduzcan los ejemplos tal y como explico en cada uno de los casos yo tengo que utilizar el Firefox en modo de navegación privada, en otro modo o con otro navegador pasas cosas diferentes.

En cualquier caso por si las moscas he dejado el .htaccess como debe estar. Copio la parte de las redirecciones:

RewriteCond %{HTTP_HOST} ^ipcamara.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.ipcamara.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

RewriteCond %{HTTP_HOST} ^apexis.com.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.apexis.com.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

RewriteCond %{HTTP_HOST} ^apexis.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

RewriteCond %{HTTP_HOST} ^chuango.com.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

RewriteCond %{HTTP_HOST} ^remotevision.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.remotevision.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

Esto en modo gráfico queda como en 26.PNG:

ResponderCitar
Respondido : 12/08/2013 11:50 am
Pablo Velasco
 Pablo Velasco
Illustrious Member

Hola,

Para que te funcione tanto con las www como sin ellas podrías probar a poner algo como lo siguiente:

RewriteCond %{HTTP_HOST} ^www.ipcamara.es$ [NC]
RewriteRule ^(.*)$  http://www.apexis.es/$1  [R=301,L]

RewriteCond %{HTTP_HOST} ^ipcamara.es$ [NC]
RewriteRule ^(.*)$  http://www.apexis.es/$1  [R=301,L]

Otra cosa distinta es que cuando borras todo te siga haciendo redirecciones, eso ya no es tan normal. Prueba lo que te he puesto a ver si funciona.

ResponderCitar
Respondido : 12/08/2013 1:10 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Javier
 Javier
Estimable Member

Hola Pablo,

He dejado pasar un día para ver si era cosa de que se actualizase algo externo a mi cPanel, pero nada.
Las redirecciones siguen siendo a la página de inicio y no a la que se le indica. Es más, redirecciones que antes hacía bien, como:
- Caso 1 - Si pones ipcamara.es/productos o www.ipcamara.es/productos te lleva a www.apexis.es/productos
Hoy las hace a la página de inicio (www.apexis.es/index.php). Yo pensaba que editando .htaccess podías redireccionar los enlaces a las páginas que tu quisieras siempre que lo indicaras en las explresiones regulares, pero lo único que consigo es que me redireccione al index.php

Yo creo que voy a tirar la toalla y me conformaré con que me redireccione a la página de inicio.

Gracias por tu tiempo y perdona la molestia.
Saludos.

ResponderCitar
Respondido : 13/08/2013 9:40 am
Jordi Sala
 Jordi Sala
Miembro Admin

Hola Javier,

Veo que se comporta actualmente tal como lo tienes configurado:

RewriteCond %{HTTP_HOST} ^ipcamara.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.ipcamara.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

RewriteCond %{HTTP_HOST} ^apexis.com.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.apexis.com.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

RewriteCond %{HTTP_HOST} ^apexis.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

RewriteCond %{HTTP_HOST} ^chuango.com.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

RewriteCond %{HTTP_HOST} ^remotevision.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.remotevision.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

https://www.webempresa.com/blog/301-redirect-y-joomla.html

https://www.webempresa.com/blog/codigos-utiles-htaccess-para-wordpress.html

Saludos

Esta publicación ha sido modificada el hace 5 años por antonio
ResponderCitar
Respondido : 13/08/2013 9:46 am

Javier
 Javier
Estimable Member

Hola Jordi,

Yo pensaba que como tengo configurado es que si pongo www.ipcamara.es/demo me vaya a www.apexis.es/demo y no a www.apexis.es/index.php

Pero si lo que tengo configurado es que cualquier página que intentes visitar desde ipcamara.es será redireccionada a la página de inicio de apexis.es pues es que entendí mal las posibilidades que me ofrecia el .htaccess

Saludos,

ResponderCitar
Respondido : 13/08/2013 9:54 am
Jordi Sala
 Jordi Sala
Miembro Admin

Hola Javier,

Haz una prueba, borra lo que tengas configurado en .htaccess:

RewriteCond %{HTTP_HOST} ^ipcamara.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.ipcamara.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]
 
RewriteCond %{HTTP_HOST} ^apexis.com.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.apexis.com.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]
 
RewriteCond %{HTTP_HOST} ^apexis.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]
 
RewriteCond %{HTTP_HOST} ^chuango.com.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]
 
RewriteCond %{HTTP_HOST} ^remotevision.es$ [OR]
RewriteCond %{HTTP_HOST} ^www.remotevision.es$
RewriteRule ^(.*)$ "http://www.apexis.es/$1" [R=301,L]

Y cambia por:

RewriteRule (.*)  http://www.apexis.es/$1  [R=301,L]

Haz una copia previa del .htaccess, por si el resultado no es el esperado.

Saludos

ResponderCitar
Respondido : 13/08/2013 10:10 am

Cursos Gratuitos WordPress

Javier
 Javier
Estimable Member

De veras, muchas gracias a todos, pero no hay manera con esto.

Me da la impresión de que firefox no lee el .htaccess de una url que ya ha leído hace no mucho tiempo y realiza las órdenes de lo que ponía en el .htaccess de esa url la última vez que sí leyó realmente el fichero.

Bueno, gracias Jordi, gracias Pablo y gracias Jhon. Gracias por vuestra atención, pero ninguna de vuestras proposiciones ha surtido el efecto deseado.

Me doy por satisfecho con lo que se puede hacer desde el modo gráfico del cPanel que es un redireccionamiento siempre a la página de inicio. O al menos eso es lo que sucede en mi caso y en cuanto toco algo del .htaccess lo único que consigo es que realice comportamientos menos deseados.

Lo dicho supongo que google irá haciendo desaparecer poco a poco los enlaces viejos y aparecerán en su lugar solo los nuevos.

Gracias.

ResponderCitar
Respondido : 13/08/2013 11:31 am
Jordi Sala
 Jordi Sala
Miembro Admin

Hola Javier,

He realizado pruebas, para indicar que todo los dominios que no sean www.domain.com lleven a http://www.domain.com y me ha funcionado.

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

Contenido solo visible a usuarios registrados
Saludos

Esta publicación ha sido modificada el hace 5 años 2 veces por antonio
ResponderCitar
Respondido : 13/08/2013 12:04 pm

wpdoctor-revisa-la-salud-de-tu-wordpress