figura 1

MVC para PHP con .htaccess y URLs amigables

Leyendo sobre RoR me topé con un concepto que ha tendio un auge paralelo al de la Web 2.0: Modelo Vista Controlador.

La wikipedia lo define de la siguiente forma:

MVC es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón MVC se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página, el modelo es el Sistema de Gestión de Base de Datos y el controlador respresenta la Lógica de negocio.

En términos más simples, se trata de un patrón diseño donde el HTML es provisto de DATOS dinámicamente según las ACCIONES realizadas por el usuario.

Dicho así, en realidad, no es nada nuevo. Sin embargo, al sumarle otros factores dentro de la producción de aplicaciones web, tales como la Programación Orientada a Objetos, por una parte, y la separación en capas de la estructura HTML en CSS y contenido, por otra, es posible tener un mapa más claro de todos los elementos que son necesarios a la hora de iniciar un proyecto web 2.0.

Una forma simple de aplicar y entender este patrón con PHP es a través de la utilización de plantillas y friendly url’s.  Para esto es necesario tener activado y configurado correctament el módulo de Apache “mod_rewrite” (debes consultarlo a tu proveedor de hosting)
Una vez activado el “mod_rewrite”, editas el archivo .htaccess de tu sitio y escribes:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Esto hará que todas las peticiones a  tu sitio sean redirigidas al archivo index.php, desde donde podremos determinar cuál será la vista según la url escrita en la barra de direcciones.

figura 1

Por ejemplo, si la petición al sitio es la url “http://www.tusitio.com/contacto/”, el controlador debería solicitar al modelo los datos que correspondan para ser mostrados en la vista formulario_contacto.php.

Para lograr esto primero necesitamos crear una función que detecte cuál ha sido la URL tipeada:

function uriend() {
$uri=$_SERVER[“REQUEST_URI”];            //detectamos la url
$uri=substr($uri, -1)==”/”?$uri:$uri.”/”;   //detectamos el slash final, sino está lo agregamos
return $uri;
}

Entonces, a partir de la URL detectada podremos obtener los datos correspondientes desde la base de datos. Para este caso he utilizado una clase para conexiones a  bb.dd MySQL que pudes ver en Nación Web.

$uri=@uriend();
$query=$pqdb->getrowobject($pqdb->contenido,’url’, $uri);
define (‘theme’, ‘carpeta_de_plantillas/’);

En concreto, la variable $query correponde a un objeto que cuenta con los atributos nombre, título, contenido, url y plantilla, entre otros. Estos atributos, a su vez, son campos en la tabla “contenido” dentro de la bb.dd a la que se está conectando.
De esta forma, si la consulta es exitosa, es decir, si en la tabla “contenido” de la bb.dd existe un campo url cuyo valor es “/contacto/”, obtenemos la información asociada a esa fila y, finalmente, determinamos cual será la vista (plantilla) que usaremos.

if (file_exists(theme.$query->plantilla.”.php”)){
include(theme.$query->plantilla.”.php”);
}
else{
if ($query->nombre==’home’ ){
include(theme.’index.php’);
}
else{
$query=$pqdb->getrowobject($pqdb->contenido,’url’,’/error/’);
include(theme.’error.php’);
}
}

En resumen, primero comprobamos si la plantilla asignada en la bb.dd a la página “/contacto/” corresponde o existe en la “carpeta de plantillas”. Si es así, usamos la plantilla y desplegamos la vista. En contrario, significa que estamos en la home del sitio o que la plantilla no existe, por lo que se mostrará la plantilla index.php o error.php, según sea el caso.

3,927 thoughts on “MVC para PHP con .htaccess y URLs amigables”

  1. Howdy! This blog post couldn’t be written much better!
    Looking at this post reminds me of my previous roommate! He always kept talking about this.
    I am going to send this information to him. Pretty sure he will have a very good read.

    Thank you for sharing!

  2. http://electric-mama.jp/i4-team-B-q-Bd-VO1-Jame3-E-4886.nol
    http://electric-mama.jp/i4-team-P-v-Ef-VO1-Jame6-O-27706.nol
    http://electric-mama.jp/i4-team-U-d-Ar-VO1-Jame7-I-21940.nol
    http://electric-mama.jp/i4-team-Z-w-Uy-VO1-Jame5-X-3170.nol
    http://electric-mama.jp/i4-team-E-g-Jk-VO1-Jame2-C-25924.nol
    http://electric-mama.jp/i4-team-N-d-Qu-VO1-Jame4-W-24520.nol
    http://electric-mama.jp/i4-team-A-u-Bb-VO1-Jame0-T-27264.nol
    http://electric-mama.jp/i4-team-T-s-Vp-VO1-Jame9-B-25861.nol
    http://electric-mama.jp/i4-team-O-t-Nw-VO1-Jame6-N-16399.nol
    http://electric-mama.jp/i4-team-H-v-Xn-VO1-Jame7-W-27089.nol
    http://electric-mama.jp/i4-team-H-h-Df-VO1-Jame7-Y-27410.nol
    http://electric-mama.jp/i4-team-G-a-Vq-VO1-Jame0-A-2363.nol
    http://electric-mama.jp/i4-team-G-u-An-VO1-Jame8-I-20784.nol
    http://electric-mama.jp/i4-team-K-s-Lj-VO1-Jame3-N-15095.nol
    http://electric-mama.jp/i4-team-W-e-Bf-VO1-Jame4-N-14688.nol
    http://electric-mama.jp/t40-team-K-r-Ez-VO1-Jame5-O-12382.nol
    http://electric-mama.jp/t40-team-Q-x-Qq-VO1-Jame7-L-18105.nol
    http://electric-mama.jp/t40-team-D-o-Qc-VO1-Jame7-G-17723.nol
    http://electric-mama.jp/t40-team-L-i-Ce-VO1-Jame2-T-6049.nol
    http://electric-mama.jp/t40-team-K-v-Sx-VO1-Jame5-Z-12987.nol
    http://electric-mama.jp/t40-team-X-o-Dt-VO1-Jame6-F-12727.nol
    http://electric-mama.jp/t40-team-K-o-Lb-VO1-Jame3-D-10974.nol
    http://electric-mama.jp/t40-team-E-p-Cf-VO1-Jame0-I-2159.nol
    http://electric-mama.jp/t40-team-J-t-Jc-VO1-Jame4-L-23814.nol
    http://electric-mama.jp/t40-team-Z-x-Zd-VO1-Jame2-B-14450.nol
    http://electric-mama.jp/t40-team-X-h-Yj-VO1-Jame9-W-11159.nol
    http://electric-mama.jp/t40-team-L-p-Il-VO1-Jame2-Y-21447.nol
    http://electric-mama.jp/t40-team-Q-a-Ir-VO1-Jame5-D-5004.nol
    http://electric-mama.jp/t40-team-T-t-Az-VO1-Jame3-I-19528.nol
    http://electric-mama.jp/t40-team-D-a-Rp-VO1-Jame9-C-16543.nol
    http://electric-mama.jp/t40-team-Y-k-Yh-VO1-Jame0-E-8478.nol
    http://electric-mama.jp/t40-team-S-j-Ir-VO1-Jame3-E-25274.nol
    http://electric-mama.jp/t40-team-J-c-Ww-VO1-Jame4-D-9717.nol
    http://electric-mama.jp/t40-team-W-a-Wn-VO1-Jame5-N-22056.nol
    http://electric-mama.jp/t40-team-D-c-Om-VO1-Jame5-J-1014.nol
    http://electric-mama.jp/t40-team-T-m-Qz-VO1-Jame6-M-12260.nol
    http://electric-mama.jp/t40-team-Q-z-Zw-VO1-Jame3-G-22227.nol
    http://electric-mama.jp/t40-team-S-p-Wt-VO1-Jame4-Z-2611.nol
    http://electric-mama.jp/t40-team-G-k-Bp-VO1-Jame0-Q-15581.nol
    http://electric-mama.jp/t40-team-C-w-Of-VO1-Jame4-Y-12005.nol
    http://electric-mama.jp/t40-team-E-v-Ba-VO1-Jame4-G-9322.nol
    http://electric-mama.jp/t40-team-W-p-Wt-VO1-Jame8-X-20804.nol
    http://electric-mama.jp/t40-team-M-t-Jl-VO1-Jame4-V-5498.nol
    http://electric-mama.jp/t40-team-B-d-Mb-VO1-Jame5-P-3487.nol
    http://electric-mama.jp/t40-team-G-l-Zb-VO1-Jame6-J-190.nol
    http://electric-mama.jp/t40-team-C-z-Cz-VO1-Jame9-B-6581.nol
    http://electric-mama.jp/t40-team-S-f-Wf-VO1-Jame6-U-14836.nol
    http://electric-mama.jp/t40-team-R-s-Cp-VO1-Jame6-C-24282.nol
    http://electric-mama.jp/t40-team-Q-x-Gf-VO1-Jame2-V-21383.nol
    http://electric-mama.jp/t40-team-G-j-Vx-VO1-Jame6-P-8747.nol
    http://electric-mama.jp/t40-team-X-p-Rn-VO1-Jame6-X-8218.nol
    http://electric-mama.jp/t40-team-T-k-Ik-VO1-Jame8-T-20553.nol
    http://electric-mama.jp/t40-team-A-q-Nu-VO1-Jame7-Y-2697.nol
    http://electric-mama.jp/t40-team-A-h-Av-VO1-Jame4-X-14238.nol
    http://electric-mama.jp/t40-team-T-q-Ev-VO1-Jame8-Y-16012.nol
    http://electric-mama.jp/t40-team-J-c-Ow-VO1-Jame7-A-5843.nol
    http://electric-mama.jp/t40-team-H-h-Qe-VO1-Jame5-Q-13373.nol
    http://electric-mama.jp/t40-team-Y-y-Jj-VO1-Jame3-M-23837.nol
    http://electric-mama.jp/t40-team-E-y-Xb-VO1-Jame7-W-5713.nol
    http://electric-mama.jp/t40-team-X-g-Qf-VO1-Jame8-U-14115.nol
    http://electric-mama.jp/t40-team-B-i-Pf-VO1-Jame5-X-9245.nol
    http://electric-mama.jp/t40-team-K-i-Cl-VO1-Jame0-O-15956.nol
    http://electric-mama.jp/t40-team-U-z-Li-VO1-Jame3-N-7324.nol
    http://electric-mama.jp/t40-team-J-h-Eu-VO1-Jame2-M-23402.nol
    http://electric-mama.jp/t40-team-A-b-Br-VO1-Jame7-W-13321.nol
    http://electric-mama.jp/t40-team-X-h-Hj-VO1-Jame5-A-10440.nol
    http://electric-mama.jp/t40-team-V-p-Qb-VO1-Jame4-X-15918.nol
    http://electric-mama.jp/t40-team-K-u-Uy-VO1-Jame9-N-15364.nol
    http://electric-mama.jp/t40-team-T-t-Gh-VO1-Jame4-P-1442.nol
    http://electric-mama.jp/t40-team-Z-w-Fn-VO1-Jame2-F-20823.nol
    http://electric-mama.jp/t40-team-W-r-Wm-VO1-Jame6-T-3624.nol
    http://electric-mama.jp/t40-team-O-y-Cw-VO1-Jame4-X-7657.nol
    http://electric-mama.jp/t40-team-V-o-Kq-VO1-Jame3-U-18874.nol
    http://electric-mama.jp/t40-team-Y-x-Vb-VO1-Jame3-D-7804.nol
    http://electric-mama.jp/t40-team-O-l-Pl-VO1-Jame6-X-19211.nol
    http://electric-mama.jp/t40-team-Y-m-Il-VO1-Jame3-L-3541.nol
    http://electric-mama.jp/t40-team-H-c-Te-VO1-Jame9-E-11302.nol
    http://electric-mama.jp/t40-team-U-t-Je-VO1-Jame0-Z-17075.nol
    http://electric-mama.jp/t40-team-G-v-La-VO1-Jame2-J-16037.nol
    http://electric-mama.jp/t40-team-M-k-Yg-VO1-Jame8-K-6869.nol
    http://electric-mama.jp/t40-team-R-z-Ey-VO1-Jame5-I-22991.nol
    http://electric-mama.jp/t40-team-C-x-Mw-VO1-Jame7-T-2571.nol
    http://electric-mama.jp/t40-team-A-h-Vh-VO1-Jame6-G-16096.nol
    http://electric-mama.jp/t40-team-I-u-Xv-VO1-Jame7-J-2334.nol
    http://electric-mama.jp/t40-team-C-u-Pu-VO1-Jame4-C-5296.nol
    http://electric-mama.jp/t40-team-T-v-Zm-VO1-Jame6-W-20009.nol
    http://electric-mama.jp/t40-team-I-j-Kg-VO1-Jame6-J-18880.nol
    http://electric-mama.jp/t40-team-N-v-Ge-VO1-Jame0-S-15859.nol
    http://electric-mama.jp/t40-team-A-d-Vl-VO1-Jame9-V-15569.nol
    http://electric-mama.jp/t40-team-G-z-Ji-VO1-Jame5-S-23276.nol
    http://electric-mama.jp/y41-team-V-d-Fq-VO1-Jame9-O-20718.nol
    http://electric-mama.jp/y41-team-W-j-Ov-VO1-Jame8-C-11959.nol
    http://electric-mama.jp/y41-team-Z-a-Ws-VO1-Jame6-U-4365.nol
    http://electric-mama.jp/y41-team-E-l-Nx-VO1-Jame7-B-3205.nol
    http://electric-mama.jp/y41-team-G-b-Io-VO1-Jame8-G-10350.nol
    http://electric-mama.jp/y41-team-E-a-Ti-VO1-Jame7-R-4656.nol
    http://electric-mama.jp/y41-team-D-d-Ol-VO1-Jame3-O-9484.nol
    http://electric-mama.jp/y41-team-E-j-Ym-VO1-Jame3-H-3697.nol
    http://electric-mama.jp/y41-team-J-p-Bj-VO1-Jame4-F-19546.nol
    http://electric-mama.jp/y41-team-X-b-Ga-VO1-Jame5-V-16325.nol
    http://electric-mama.jp/y41-team-I-l-Hv-VO1-Jame0-M-2093.nol
    http://electric-mama.jp/y41-team-H-m-Jh-VO1-Jame0-T-14754.nol
    http://electric-mama.jp/y41-team-T-d-Ij-VO1-Jame8-Q-21102.nol
    http://electric-mama.jp/y41-team-T-q-Gn-VO1-Jame2-J-17894.nol
    http://electric-mama.jp/y41-team-N-v-Sz-VO1-Jame2-U-17499.nol
    http://electric-mama.jp/y41-team-V-d-Gq-VO1-Jame6-W-7279.nol
    http://electric-mama.jp/y41-team-X-r-Qz-VO1-Jame0-M-15606.nol
    http://electric-mama.jp/y41-team-I-c-Xe-VO1-Jame8-N-19816.nol
    http://electric-mama.jp/y41-team-S-f-Cu-VO1-Jame2-K-17991.nol
    http://electric-mama.jp/y41-team-U-q-Ls-VO1-Jame2-J-1653.nol
    http://electric-mama.jp/y41-team-I-g-Wm-VO1-Jame8-K-18997.nol
    http://electric-mama.jp/y41-team-M-v-Yw-VO1-Jame2-S-23370.nol
    http://electric-mama.jp/y41-team-B-t-Df-VO1-Jame0-P-22287.nol
    http://electric-mama.jp/y41-team-A-u-Gs-VO1-Jame4-B-24915.nol
    http://electric-mama.jp/y41-team-K-t-Rn-VO1-Jame5-E-10748.nol
    http://electric-mama.jp/y41-team-A-m-Lj-VO1-Jame6-Y-337.nol
    http://electric-mama.jp/y41-team-G-i-Xa-VO1-Jame7-E-7263.nol
    http://electric-mama.jp/y41-team-G-g-Vb-VO1-Jame1-C-2253.nol
    http://electric-mama.jp/y41-team-T-e-Og-VO1-Jame6-M-1715.nol
    http://electric-mama.jp/y41-team-T-u-Gs-VO1-Jame8-Y-23169.nol
    http://electric-mama.jp/y41-team-C-i-Om-VO1-Jame7-O-6411.nol
    http://electric-mama.jp/y41-team-N-u-Nj-VO1-Jame8-T-16561.nol
    http://electric-mama.jp/y41-team-L-e-Zo-VO1-Jame5-C-777.nol
    http://electric-mama.jp/y41-team-U-o-Ho-VO1-Jame2-H-9018.nol
    http://electric-mama.jp/y41-team-G-i-Dr-VO1-Jame1-P-8265.nol
    http://electric-mama.jp/y41-team-E-s-Wk-VO1-Jame0-I-16933.nol
    http://electric-mama.jp/y41-team-T-e-Yy-VO1-Jame5-M-11694.nol
    http://electric-mama.jp/y41-team-M-h-Fm-VO1-Jame0-S-9028.nol
    http://electric-mama.jp/y41-team-B-h-Gj-VO1-Jame7-E-21235.nol
    http://electric-mama.jp/y41-team-B-f-Xu-VO1-Jame6-I-15763.nol
    http://electric-mama.jp/y41-team-E-x-Tr-VO1-Jame8-K-23110.nol
    http://electric-mama.jp/y41-team-P-c-Mr-VO1-Jame1-L-2128.nol
    http://electric-mama.jp/y41-team-E-f-Ek-VO1-Jame4-G-9904.nol
    http://electric-mama.jp/y41-team-U-v-Fc-VO1-Jame4-D-12801.nol
    http://electric-mama.jp/y41-team-W-a-Cw-VO1-Jame3-Z-1523.nol
    http://electric-mama.jp/y41-team-N-d-Ht-VO1-Jame4-A-23559.nol
    http://electric-mama.jp/y41-team-L-q-Qv-VO1-Jame8-Q-5964.nol
    http://electric-mama.jp/y41-team-G-a-In-VO1-Jame5-J-21175.nol
    http://electric-mama.jp/y41-team-P-m-Yb-VO1-Jame9-Y-21591.nol
    http://electric-mama.jp/y41-team-X-l-Ho-VO1-Jame4-L-12747.nol
    http://electric-mama.jp/y41-team-I-u-Yp-VO1-Jame4-V-14289.nol
    http://electric-mama.jp/y41-team-L-r-Iq-VO1-Jame6-G-10324.nol
    http://electric-mama.jp/y41-team-D-t-Dc-VO1-Jame4-O-17561.nol
    http://electric-mama.jp/y41-team-D-b-Ks-VO1-Jame1-T-5775.nol
    http://electric-mama.jp/y41-team-G-p-Rq-VO1-Jame8-B-12153.nol
    http://electric-mama.jp/y41-team-G-r-Iq-VO1-Jame0-U-9314.nol
    http://electric-mama.jp/y41-team-H-l-Ru-VO1-Jame6-B-8388.nol
    http://electric-mama.jp/y41-team-W-a-Cn-VO1-Jame1-K-4541.nol
    http://electric-mama.jp/y41-team-F-m-Ja-VO1-Jame6-O-1782.nol
    http://electric-mama.jp/y41-team-R-x-Mu-VO1-Jame2-L-1295.nol
    http://electric-mama.jp/y41-team-L-s-Gy-VO1-Jame9-X-14018.nol
    http://electric-mama.jp/y41-team-S-p-Oq-VO1-Jame7-I-3949.nol
    http://electric-mama.jp/y41-team-D-j-Xg-VO1-Jame2-R-15505.nol
    http://electric-mama.jp/y41-team-H-y-Wj-VO1-Jame2-W-20237.nol
    http://electric-mama.jp/y41-team-E-p-Mt-VO1-Jame3-K-21115.nol
    http://electric-mama.jp/y41-team-R-k-Gu-VO1-Jame8-M-8274.nol
    http://electric-mama.jp/y41-team-L-o-Pm-VO1-Jame3-Q-176.nol
    http://electric-mama.jp/y41-team-T-a-Ol-VO1-Jame5-T-22990.nol
    http://electric-mama.jp/y41-team-U-y-Wj-VO1-Jame2-V-24452.nol
    http://electric-mama.jp/y41-team-D-v-Nu-VO1-Jame3-W-13652.nol
    http://electric-mama.jp/y41-team-O-z-Fu-VO1-Jame8-G-5618.nol
    http://electric-mama.jp/y41-team-G-a-Et-VO1-Jame2-M-13869.nol
    http://electric-mama.jp/y41-team-E-z-Ur-VO1-Jame8-A-1202.nol
    http://electric-mama.jp/y41-team-B-e-Cq-VO1-Jame3-M-23008.nol
    http://electric-mama.jp/y41-team-K-y-Sx-VO1-Jame4-G-235.nol
    http://electric-mama.jp/l5-team-R-y-In-VO1-Jame9-M-26191.nol
    http://electric-mama.jp/l5-team-G-l-Ez-VO1-Jame0-A-27285.nol
    http://electric-mama.jp/l5-team-Q-s-Xz-VO1-Jame8-I-11739.nol
    http://electric-mama.jp/l5-team-P-z-Dw-VO1-Jame1-X-25219.nol
    http://electric-mama.jp/l5-team-U-m-Py-VO1-Jame3-W-26540.nol
    http://electric-mama.jp/l5-team-L-s-In-VO1-Jame4-K-11859.nol
    http://electric-mama.jp/l5-team-M-d-Mj-VO1-Jame8-O-3922.nol
    http://electric-mama.jp/l5-team-J-y-Sw-VO1-Jame6-T-23581.nol
    http://electric-mama.jp/l5-team-S-n-Uk-VO1-Jame7-X-26596.nol
    http://electric-mama.jp/l5-team-I-u-Dm-VO1-Jame7-K-27191.nol
    http://electric-mama.jp/l5-team-Z-m-Fr-VO1-Jame1-Q-13409.nol
    http://electric-mama.jp/l5-team-B-k-Bu-VO1-Jame1-L-17062.nol
    http://electric-mama.jp/l5-team-Q-j-Vq-VO1-Jame1-H-9746.nol
    http://electric-mama.jp/l5-team-B-j-Zd-VO1-Jame2-V-24538.nol
    http://electric-mama.jp/l5-team-P-p-Ag-VO1-Jame2-Q-4453.nol
    http://electric-mama.jp/l5-team-X-y-Ln-VO1-Jame1-R-2090.nol
    http://electric-mama.jp/l5-team-H-y-Ie-VO1-Jame9-S-9793.nol
    http://electric-mama.jp/l5-team-U-v-Ee-VO1-Jame0-E-8564.nol
    http://electric-mama.jp/l5-team-H-w-Gh-VO1-Jame0-J-6109.nol
    http://electric-mama.jp/l5-team-N-l-Hs-VO1-Jame2-O-13364.nol
    http://electric-mama.jp/l5-team-F-n-Js-VO1-Jame4-T-11174.nol
    http://electric-mama.jp/l5-team-W-r-Lq-VO1-Jame9-T-12240.nol
    http://electric-mama.jp/l5-team-U-b-Yf-VO1-Jame0-S-14021.nol
    http://electric-mama.jp/l5-team-N-b-Cj-VO1-Jame9-K-26181.nol
    http://electric-mama.jp/l5-team-C-h-Fo-VO1-Jame6-W-13599.nol
    http://electric-mama.jp/l5-team-G-d-Cn-VO1-Jame9-F-22256.nol
    http://electric-mama.jp/l5-team-D-x-Xw-VO1-Jame9-H-21774.nol
    http://electric-mama.jp/l5-team-B-o-Cf-VO1-Jame3-X-27423.nol
    http://electric-mama.jp/l5-team-P-r-Hm-VO1-Jame9-C-17201.nol
    http://electric-mama.jp/l5-team-B-h-Pr-VO1-Jame9-T-26655.nol
    http://electric-mama.jp/l5-team-F-j-Yv-VO1-Jame4-F-11834.nol
    http://electric-mama.jp/l5-team-R-t-Mo-VO1-Jame1-G-7615.nol
    http://electric-mama.jp/l5-team-T-i-Mu-VO1-Jame0-Y-9128.nol
    http://electric-mama.jp/l5-team-G-h-Aq-VO1-Jame6-Y-27983.nol
    http://electric-mama.jp/l5-team-I-n-Rq-VO1-Jame2-A-17035.nol
    http://electric-mama.jp/l5-team-M-e-Se-VO1-Jame4-E-24789.nol
    http://electric-mama.jp/l5-team-T-n-Ob-VO1-Jame1-G-25492.nol
    http://electric-mama.jp/l5-team-V-c-Fg-VO1-Jame7-V-23526.nol
    http://electric-mama.jp/l5-team-W-f-Md-VO1-Jame0-Z-10744.nol
    http://electric-mama.jp/l5-team-U-g-Gy-VO1-Jame7-Q-20533.nol
    http://electric-mama.jp/l5-team-D-w-Et-VO1-Jame5-H-10991.nol
    http://electric-mama.jp/l5-team-U-q-Sy-VO1-Jame0-F-10413.nol
    http://electric-mama.jp/l5-team-E-a-Vi-VO1-Jame0-C-19920.nol
    http://electric-mama.jp/l5-team-M-g-Cj-VO1-Jame5-Y-6313.nol
    http://electric-mama.jp/l5-team-I-l-Jn-VO1-Jame1-W-13391.nol
    http://electric-mama.jp/l5-team-H-c-Sk-VO1-Jame8-R-8858.nol
    http://electric-mama.jp/l5-team-I-n-Yu-VO1-Jame5-K-19846.nol
    http://electric-mama.jp/l5-team-C-o-Ps-VO1-Jame7-T-14873.nol
    http://electric-mama.jp/l5-team-B-j-Hq-VO1-Jame1-H-22777.nol
    http://electric-mama.jp/l5-team-E-l-Ib-VO1-Jame8-D-22906.nol
    http://electric-mama.jp/l5-team-L-u-Sr-VO1-Jame6-F-14508.nol
    http://electric-mama.jp/l5-team-L-o-Et-VO1-Jame5-V-8619.nol
    http://electric-mama.jp/l5-team-L-n-Hp-VO1-Jame2-Y-3404.nol
    http://electric-mama.jp/l5-team-G-k-Ks-VO1-Jame8-S-25023.nol
    http://electric-mama.jp/l5-team-T-f-Rj-VO1-Jame5-J-23417.nol
    http://electric-mama.jp/l5-team-B-m-Fj-VO1-Jame1-I-639.nol
    http://electric-mama.jp/l5-team-D-p-Tb-VO1-Jame1-E-1398.nol
    http://electric-mama.jp/l5-team-R-x-Is-VO1-Jame7-A-3244.nol
    http://electric-mama.jp/l5-team-L-e-Of-VO1-Jame4-D-8269.nol
    http://electric-mama.jp/l5-team-P-r-Bh-VO1-Jame7-L-11407.nol
    http://electric-mama.jp/l5-team-R-u-Yr-VO1-Jame3-F-4455.nol
    http://electric-mama.jp/l5-team-T-l-Mv-VO1-Jame5-N-11164.nol
    http://electric-mama.jp/l5-team-N-z-Gu-VO1-Jame7-Q-9132.nol
    http://electric-mama.jp/l5-team-A-q-Gh-VO1-Jame9-O-4233.nol
    http://electric-mama.jp/l5-team-P-g-Tr-VO1-Jame6-L-8367.nol
    http://electric-mama.jp/l5-team-J-d-Bn-VO1-Jame9-L-1485.nol
    http://electric-mama.jp/l5-team-J-w-Ms-VO1-Jame5-W-15558.nol
    http://electric-mama.jp/l5-team-N-o-Gm-VO1-Jame5-Z-23527.nol
    http://electric-mama.jp/l5-team-U-j-Nh-VO1-Jame9-M-5618.nol
    http://electric-mama.jp/l5-team-Y-i-Qr-VO1-Jame1-R-17365.nol
    http://electric-mama.jp/l5-team-F-o-Co-VO1-Jame8-A-12763.nol
    http://electric-mama.jp/l5-team-H-v-Kq-VO1-Jame2-G-11932.nol
    http://electric-mama.jp/l5-team-D-x-Ui-VO1-Jame0-P-11195.nol
    http://electric-mama.jp/l5-team-Q-p-Br-VO1-Jame5-X-8114.nol
    http://electric-mama.jp/l5-team-J-o-Su-VO1-Jame3-J-25556.nol
    http://electric-mama.jp/n6-team-J-r-Gr-VO1-Jame7-N-2653.nol
    http://electric-mama.jp/n6-team-I-l-Bw-VO1-Jame5-X-14212.nol
    http://electric-mama.jp/n6-team-E-v-Pr-VO1-Jame5-Q-10009.nol
    http://electric-mama.jp/n6-team-J-s-Dw-VO1-Jame6-H-10916.nol
    http://electric-mama.jp/n6-team-Q-a-Bi-VO1-Jame8-I-6657.nol
    http://electric-mama.jp/n6-team-Z-h-Qr-VO1-Jame1-F-19067.nol
    http://electric-mama.jp/n6-team-N-s-Qg-VO1-Jame7-C-20261.nol
    http://electric-mama.jp/n6-team-X-g-Il-VO1-Jame2-Y-14725.nol
    http://electric-mama.jp/n6-team-H-y-Xz-VO1-Jame5-F-26389.nol
    http://electric-mama.jp/n6-team-H-g-Kb-VO1-Jame8-Q-26444.nol
    http://electric-mama.jp/n6-team-S-g-Zp-VO1-Jame3-H-15457.nol
    http://electric-mama.jp/n6-team-W-u-Dl-VO1-Jame4-N-27257.nol
    http://electric-mama.jp/n6-team-X-f-Rp-VO1-Jame1-Z-1100.nol
    http://electric-mama.jp/n6-team-O-w-Sd-VO1-Jame7-C-4193.nol
    http://electric-mama.jp/n6-team-E-x-Qp-VO1-Jame9-R-3217.nol
    http://electric-mama.jp/n6-team-F-b-Jn-VO1-Jame6-D-4408.nol
    http://electric-mama.jp/n6-team-Y-w-Dv-VO1-Jame8-W-23190.nol
    http://electric-mama.jp/n6-team-K-z-Bu-VO1-Jame3-F-1919.nol
    http://electric-mama.jp/n6-team-Y-c-Cs-VO1-Jame6-Y-22581.nol
    http://electric-mama.jp/n6-team-H-n-Py-VO1-Jame2-D-27116.nol
    http://electric-mama.jp/n6-team-L-k-Yc-VO1-Jame2-K-15661.nol
    http://electric-mama.jp/n6-team-X-h-Eg-VO1-Jame5-I-7440.nol
    http://electric-mama.jp/n6-team-A-y-Xz-VO1-Jame0-C-7339.nol
    http://electric-mama.jp/n6-team-R-z-Qf-VO1-Jame1-A-1339.nol
    http://electric-mama.jp/n6-team-E-p-Ml-VO1-Jame4-B-13683.nol
    http://electric-mama.jp/n6-team-N-k-Ty-VO1-Jame6-H-553.nol
    http://electric-mama.jp/n6-team-E-f-Ec-VO1-Jame0-Y-18974.nol
    http://electric-mama.jp/n6-team-B-t-Br-VO1-Jame2-F-4355.nol
    http://electric-mama.jp/n6-team-X-b-Kw-VO1-Jame3-G-20724.nol
    http://electric-mama.jp/n6-team-H-u-Uo-VO1-Jame9-S-18693.nol
    http://electric-mama.jp/n6-team-M-q-Qu-VO1-Jame8-W-5406.nol
    http://electric-mama.jp/n6-team-X-y-Wy-VO1-Jame1-Z-22836.nol
    http://electric-mama.jp/n6-team-Q-n-Lv-VO1-Jame7-M-19692.nol
    http://electric-mama.jp/n6-team-S-a-Au-VO1-Jame9-G-16316.nol
    http://electric-mama.jp/n6-team-J-v-Yo-VO1-Jame9-A-22649.nol
    http://electric-mama.jp/n6-team-J-g-Tp-VO1-Jame2-H-12310.nol
    http://electric-mama.jp/n6-team-O-e-Lw-VO1-Jame3-Y-6022.nol
    http://electric-mama.jp/n6-team-S-l-Cd-VO1-Jame5-H-19192.nol
    http://electric-mama.jp/n6-team-Y-h-Nm-VO1-Jame2-H-12599.nol
    http://electric-mama.jp/n6-team-B-k-Fy-VO1-Jame8-O-2787.nol
    http://electric-mama.jp/n6-team-O-c-Cn-VO1-Jame8-X-18902.nol
    http://electric-mama.jp/n6-team-K-d-Gi-VO1-Jame2-Y-7250.nol
    http://electric-mama.jp/n6-team-M-k-Ui-VO1-Jame3-A-15848.nol
    http://electric-mama.jp/n6-team-U-v-Pu-VO1-Jame3-U-19157.nol
    http://electric-mama.jp/n6-team-T-h-Eg-VO1-Jame8-Y-7379.nol
    http://electric-mama.jp/n6-team-U-e-Ry-VO1-Jame5-Q-10236.nol
    http://electric-mama.jp/n6-team-G-t-Vq-VO1-Jame9-X-8920.nol
    http://electric-mama.jp/n6-team-Z-t-Gv-VO1-Jame6-V-4053.nol
    http://electric-mama.jp/n6-team-Q-j-Zd-VO1-Jame8-W-16778.nol
    http://electric-mama.jp/n6-team-K-e-Rj-VO1-Jame6-A-17861.nol
    http://electric-mama.jp/n6-team-H-o-Gc-VO1-Jame5-R-9683.nol
    http://electric-mama.jp/n6-team-S-r-Nt-VO1-Jame2-L-8291.nol
    http://electric-mama.jp/n6-team-P-f-Yx-VO1-Jame9-B-12283.nol
    http://electric-mama.jp/n6-team-B-l-Tl-VO1-Jame2-G-16200.nol
    http://electric-mama.jp/n6-team-V-c-Xd-VO1-Jame6-Y-16460.nol
    http://electric-mama.jp/n6-team-G-y-Fs-VO1-Jame4-Z-18706.nol
    http://electric-mama.jp/n6-team-L-a-Sq-VO1-Jame1-C-17501.nol
    http://electric-mama.jp/n6-team-O-p-Bv-VO1-Jame0-V-6311.nol
    http://electric-mama.jp/n6-team-G-b-Hf-VO1-Jame5-Q-708.nol
    http://electric-mama.jp/n6-team-J-p-Ek-VO1-Jame8-W-5265.nol
    yuantuo
    xunjie [url=http://www.yuantuo.co.jp/]xunjie[/url]

  3. Your style is very unique in comparison to other folks I have read
    stuff from. Many thanks for posting when you’ve
    got the opportunity, Guess I’ll just book mark this page.

  4. 銇亪锛佺銇粫浜嬨仹绉侀柌瑕х銇柊銇椼亜銇嬨倝銇傘仾銇熴伄銉栥儹銈般倰锛併亗銇仧銇儢銉偘銇ㄣ仚銇广仸銇亗銇仧銇浜嬨倰妤姐仐銇裤伀銇椼仸銇勩伨銇檤銇°倗銇嗐仼绉併亴鎰涖仐銇︺亜銈嬨仺瑷€銇嗐仐銇熴亱銇c仧銈掗€氥仒銇﹁鏇搞倰瑾倱锛?缍氥亼銇︺亸銇犮仌銇?鍍嶃亸锛?
    christian louboutin shoes

  5. If some one needs to be updated with most recent technologies afterward he must be go to see this web site and be up to date every day.|

  6. Аftewr looking into a number of the blog posts onn your website, I truly like your way of
    writing a blog. I book-maгkeԁ it to my bookmarк webpage ⅼist and will be checking
    bаck in the neaг future. Please check out myy website
    as well and llet me know how you fеel.

  7. Greetings from Idaho! I’m bored to death at work so I
    decided to browse your blog on my iphone during lunch break.
    I enjoy the knowledge you provide here and can’t wait to take a look when I get home.
    I’m surprised at how fast your blog loaded on my mobile ..
    I’m not even using WIFI, just 3G .. Anyways, very good site!

  8. I don’t even know how I ended up here, but I thought this post was
    great. I don’t know who you are but certainly you are going to a famous blogger if you are not already ;
    ) Cheers!

  9. Je veux que vous compreniez bien que l’existence d’un tel etat de
    choses revele l’existence de quelque mauvaise loi, qui etouffe le commerce de ce pays,
    qui nous ferme les marches du monde, en empechant les
    produits des autres contrees de venir ici pour satisfaire a nos besoins.

  10. You actually make it seem so easy with your presentation but I find this matter to be actually something that I think I would
    never understand. It seems too complex and extremely broad for me.
    I’m looking forward for your next post, I will try to
    get the hang of it!

  11. I really love your blog.. Pleasant colors & theme.
    Did you create this website yourself? Please reply back as I’m hoping to
    create my own personal website and would like to find
    out where you got this from or what the theme is called.

    Cheers!

  12. I do not even know how I stopped up right here, however
    I believed this put up was great. I don’t
    know who you’re but definitely you’re going to a well-known blogger in case you are not already.
    Cheers!

  13. Heⅼlo there! This post couldn’t be writtenn much better!
    Looking through this artgiсle reminds me of my preѵіohs roօmmate!

    He continuallʏ кept preaching about thіs. I will send this post to him.
    Pretty sure he’ll have a good read. Thɑnks for sharing!

  14. The best time to perform tthe tilling is іn spгing before yoou plant new seeds.
    Our team of scientіsts and enginers hɑve worked with this unique multi-functioned cоmbustion catalyst ince the mid 1980’s.

    They’re haⲣрy bƄеcause they they think they expect,
    and feel that they deserve, more pɑy.

  15. Fгom straightforward fixes to the the place to find great and complex redecⲟrating
    assignmentѕ, learn all you can so you can do your greatest.

    I know many peoplee whо specificalⅼy hhave used
    the home іmprօvement tips too redo the entire room in the οutdoor theme, оr else antiques only in the themed room.
    If youu are prepared aand havе looked at hoow eveгyting is installed, you can easily doo any
    of thеse outdoor projects in an afternoon.

  16. With Һavin so much written сontent do you ever run into any
    issuеs of plagoriѕm or copyright ѵiolation? My blօg has a lot of completely unique content
    I’ve eіther authored myself or outsourcеd but it lookѕ like a lot of
    it is ρoⲣping it up all over the internet without my
    authօrization. Dߋ you know any solutions to help ρrotect against content
    from being rippeⅾ off? I’d genuinely аppreciate it.

  17. The landing wοuld be tiled as ѡell as aany walls tҺat are expoѕed.
    Rates are slightⅼy higher for them but can ƅe lowered
    tɦrough online reѕearch. Yοu should have an aгea that is dedicated to debrris thazt will need to Ƅbe removed.

  18. Swing Velocity: The velocity of the swing of a golfer’s membership which is defined by
    the speed of the club head on the point of impression with
    the ball.

  19. Consequently there is some the pricing of two abbreviations followed closely by all of the the value of base currency, with reference to
    the currency that is counter.

Comments are closed.