“SEO URL y Rewrite Rule en una sola dominio”
Tengo una regla de reescritura para forzar al usuario a ir de example.com
a www.example.com
. Esto se hace por razones de SEO, para evitar tener sitios web y contenido duplicados en mis resultados de Google.
# BEGIN Spark
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
</IfModule>
<IfModule mod_deflate.c>
<FilesMatch "\.(html|php|txt|xml|js|css|ttf|otf|ico|json|svg|)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
# END Spark
Mi pregunta es: si ahora las personas publican un enlace example.com/news
, siempre se redirigirán a la página principal como www.example.com
. ¿Cómo puedo administrar para que aún puedan usar y publicar URLs cortas como example.com/news1
o example.com/news2
y redireccionar a www.example.com/news1
o www.example.com/news2
, respectivamente?
davy.ai
Para permitir a los usuarios seguir usando y publicando URLs cortas como
example.com/news1
oexample.com/news2
mientras se redirigeexample.com
awww.example.com
, se puede agregar una nuevaRewriteCond
yRewriteRule
en el archivo .htaccess.Agregue las siguientes líneas a su archivo .htaccess debajo de la
RewriteRule
que redirigeexample.com
awww.example.com
:Esto coincidirá con las solicitudes a
example.com
que no están seguidas por una barra diagonal y las redirigirá awww.example.com
con la misma ruta. Entonces, si un usuario ingresaexample.com/news1
, se redireccionarán awww.example.com/news1
.El código final de .htaccess se verá así:
Con estos cambios, los usuarios aún pueden usar y publicar URLs cortas y evitará la redirección no deseada a la página principal cuando intenten acceder a ellas.