CAT | Tutoriales
26
Error 310 – Demasiados redireccionamientos.
6 Comentarios · Posteado por Martin en Tutoriales, Wordpress
Hoy decidí actualizar mi sitio a versión 3.1 de WordPress, y cuando termino el proceso voy a revisar el sito y me doy cuenta que no carga la pagina inicial. Despues de esperar un rato me sale un mensaje de error que ve mas o menos así:

Luego de investigar un poco y googlear un rato me di cuenta que el error ocurría cuando se usan las url canónicas en combinación con la actualización 3.1 de WordPress.
Y aqui lo mas interesante de este post, la manera de solucionarlo, es solo una linea de codigo.
<?php
/*
Plugin Name: Disable Canonical URL Redirection
Description: Disables the "Canonical URL Redirect" features of WordPress 2.3 and above.
Version: 1.0
Author: Mark Jaquith
Author URI: http://markjaquith.com/
*/
remove_filter('template_redirect', 'redirect_canonical');
?>
Aquí les dejo el archivo zip para que lo instalen como plug-in de manera parida y cómoda.
Versión zip: Disable Canonical Redirects plug-in
Saludos y espero sus comentarios!
Error 310 ERR_TOO_MANY_REDIRECTS redireccionamientos url canónicas Worpress 3.1
Algo que realmente me ha gustado de las nuevas características de Flex 4 es la separación que propone entre el contenido y la visualización de los componentes, para hacer esto posible Gumbo viene cargado de una batería de herramientas. Una interesante, es la posibilidad de desarrollar layouts personalizados para los distintos componentes.
Pero veamos con un pequeño ejemplo como funciona esto. Para crear nuestros propios layouts es necesario extender la clase “LayoutBase” que se encuentra dentro del paquete “spark.layouts.supportClasses”
En esta clase debemos sobrescribir el método “updateDisplayList” que es el encargado de pintar los elementos en pantalla.
En este ejemplo se muestra una clase “circularlayout” que se encarga de distribuir los elementos en un círculo.
package com.layouts
{
import mx.core.ILayoutElement;
import spark.layouts.supportClasses.LayoutBase;
public class CircularLayout extends LayoutBase
{
override public function updateDisplayList(w:Number, h:Number):void
{
super.updateDisplayList(w, h);
if (!target)
return;
var layoutElement:ILayoutElement;
var count:uint = target.numElements;
var angle : Number = 360/count;
var radius : Number = Math.min( target.width/2, target.height/2 ) - 25;
var w2 : Number = target.width/2;
var h2 : Number = target.height/2;
for (var i:int = 0; i < count; i++)
{
layoutElement = target.getElementAt(i);
if (!layoutElement || !layoutElement.includeInLayout)
continue;
var radAngle : Number = (angle * i) * (Math.PI / 180) ;
var _x : Number = Math.sin( radAngle );
var _y : Number = - Math.cos( radAngle );
layoutElement.setLayoutBoundsPosition( w2 + (_x * radius) - 25, h2 + (_y * radius) - 10 );
}
}
}
}
Como verán es muy fácil crear layouts, solo hay que iterar por la colección de elementos visuales y asignarles una nueva posición basada en nuestro propios requerimientos.
Este es un ejemplo básico, pero con un poco de esfuerzo se pueden construir layouts muy potentes, incluso con características 3D. Pero esto seguramente lo expondré en otro post.
Aquí les dejo la aplicación de ejemplo, que muestra de una manara muy básica lo que les estaba contando.
Como siempre, aquí pueden descargar el código fuente de la aplicacion.
LayoutEjemplo
