Each run pushes your reflexes to the limit as https://chickenroad-2.in/ showcases crash gameplay with expanding multipliers and instant outcomes. This fourth installment keeps the same HTML5 simplicity and capped $20,000 prize potential.

Cómo hacer redirect 301 con Silverstripe (CMS OpenSource SEOFriendly)

Cada día me encuentro con nuevos sistemas de gestión de contenidos o CMS (Content Management System), cada uno con sus características, peculiaridades y defectos.

Redirect 301 con SilverStripe

Últimamente me toca trabajar a menudo con SilverStripe, un CMS OpenSource con una óptima comunidad de desarrolladores. Precisamente por esto, aunque bastante joven, SilverStripe es un buen sistema de gestión de contenidos. Además, tiene nativas las principales funciones SEO-Friendly!

Vista esta predisposición, es esencial en el caso de un restyling de la web – para recuperar tráfico y backlinks – realizar redirecciones 301 puntuales de páginas viejas a páginas nuevas, utilizando una configuración en particular de mod_rewrite para realizar estas redirecciones mediante el archivo .htaccess.

Redirect 301 con SilverStripe

La reescritura de las urls de SilverStripe se realiza mediante el archivo .htaccess presente en la ROOT del sitio web. Las líneas que nos interesan son éstas:

RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L]

[php]
### SILVERSTRIPE START ###
<Files *.ss>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Files>

<Files web.config>
Order deny,allow
Deny from all
</Files>

ErrorDocument 404 /assets/error-404.html
ErrorDocument 500 /assets/error-500.html

<IfModule mod_alias.c>
RedirectMatch 403 /silverstripe-cache(/|$)
</IfModule>

<IfModule mod_rewrite.c>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L]
</IfModule>
### SILVERSTRIPE END ###
[/php]

Este es el código estándar de SilverStripe para la reescritura de las URLS. Pero si añades el clásico comando de 301 al htaccess para realizar el “redirect 301” de una url vieja a una nueva, la redirección no funcionará porque a la url nueva se añadirá la {QUERY_STRING} como determinado por el .htaccess.

Para evitar este problema debes reescribir las urls antiguas sobre las nuevas, para luego usar el 301 como categorización del “RewriteRule”.

Veamos un ejemplo:

URL Vieja = http://www.sitioejemplo.es/antiguo-directorio/antigua-pagina.asp

URL Nueva = http://www.sitioejemplo.es/nuevo-directorio/nueva-pagina/

Es suficiente introducir la regla de rewrite antes de la condición y reescritura genérica de SilverStripe (línea 24):

RewriteRule ^antiguo-directorio/antigua-pagina.asp /nuevo-directorio/nueva-pagina/ [R=301,NC,L]

De esta forma obtenemos el nuevo código, que incluye nuestro redirect 301 (he añadido dos comentarios de inicio y fin del área de redirect):

[php]
### SILVERSTRIPE START ###
<Files *.ss>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Files>

<Files web.config>
Order deny,allow
Deny from all
</Files>

ErrorDocument 404 /assets/error-404.html
ErrorDocument 500 /assets/error-500.html

<IfModule mod_alias.c>
RedirectMatch 403 /silverstripe-cache(/|$)
</IfModule>

<IfModule mod_rewrite.c>
SetEnv HTTP_MOD_REWRITE On
RewriteEngine On
RewriteBase /

### Inicio: Redirect 301 by Prima Posizione Srl ###
RewriteRule ^antiguo-directorio/antigua-pagina.asp /nuevo-directorio/nueva-pagina/ [R=301,NC,L]
### Fin: Redirect 301 by Prima Posizione Srl ###

RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L]
</IfModule>
### SILVERSTRIPE END ###
[/php]

Gracias a este pequeño cambio podrás crear todos los redirect 301 de las antiguas páginas de tu web a las nuevas, después del restyling.

Chiedici come possiamo aiutarti a migliorare il tuo business

Via Marco Polo 19/A – 35020 Albignasego (PD)

Tel: 049 2700374