sisè / segona

Soy Víctor Rodríguez, programador web freelance con más de 10 años de experiencia

Un poco de .htaccess y redirecciones

Hace un par de días me llegó está petición:

Administro una web sin CMS donde tenemos que añadir unas páginas a modo de Landings.
Cada página nueva es un archivo .PHP dentro de la carpeta /landings
Por SEO queremos que la URL visible sea /cat/nom-de-la-landing
Por orden interno de la página queremos intentar no haber de mover los archivos .php de las landings a la carpeta /cat/

¿Cómo lo ves? ¿Es posible hacerlo con PHP i htaccess?

Y aquí está el pequeño script .htaccess que hace falta para solucionar el problema:

Options -Indexes +FollowSymLinks
RewriteEngine On 
RewriteBase / 

RewriteRule ^cat/(.*) landings/$1.php [L]

Así tendremos que:

www.example.com/cat/nom-de-la-landing

irá a servir:

/landings/nom-de-la-landing.php

Hasta otra!

UPDATE 1: 27/03/2015 17:46

¿Qué pasa si queremos mostrar otras pàginas dentro de la carpeta /cat?

Pues que hay que añadir la siguiente directriz justo encima de la regla de redireccionamiento a la carpeta landings:

RewriteCond %{REQUEST_FILENAME} !-s

Lo que hace es servir la pàgina solicitada al servidor si existe en la ruta pedida.

Así nos quedará el siguiente fichero .htaccess final:

Options -Indexes +FollowSymLinks
RewriteEngine On 
RewriteBase / 

RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^cat/(.*) landings/$1.php [L]

Ahora :P

UPDATE 2: 08/04/2015 15:16

¿Y si queremos añadir nuevos idiomas a las landings? Por ejemplo, para el español, añadir urls tales como /esp/nombre-de-la-landing

Pues modificamos la relga de la siguiente manera (Recordar que las reglas se configuran con expresiones reguleras regulares.)

Options -Indexes +FollowSymLinks
RewriteEngine On 
RewriteBase / 

RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^(cat|esp)/(.*) landings/$2.php [L]

Si además para ordenar un poco todo el tinglado de páginas landings las separamos por sus respectivos idiomas, podemos tener una estructura de carpetas tal que:

/landings/cat/nom-de-la-landing.php
/landings/esp/nombre-de-la-landing.php

Y la regla de la siguiente manera:

Options -Indexes +FollowSymLinks
RewriteEngine On 
RewriteBase / 

RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^(cat|esp)/(.*) landings/$1/$2.php [L]

:P

Sobre rake tasks en Rails 4

Ayer aprendí un par de cosillas sobre la creación de tareas en Rails 4, y para no olvidar… Apuntado queda.

Acceder al modelo de la aplicación

Para acceder al modelo de la aplicación sólo debemos hacer que la tarea sea dependiente del entorno de ejecución:

task task_name: :environment do |t|
  # You can use your model from here
end

La parte interesante aquí es :environment. Este pequeño código hace toda la magia necesaria para poder acceder a nuestro modelo, sin esto no funciona. Haz la prueba.

Una explicación un poquito más correcta es que a las tareas les puedes pasar un array de dependencias. Es lo que hacemos al añadir :environment detrás del nombre de la tarea en formato clave: :valor (vaya, un hash).

Pasar parámetros

Hay dos maneras de pasar parámetros (que yo conozca). La oficial, según la guía de Rails es la siguiente:

task :task_name, [:arg_1] do |t, args|
  # You can use args from here
end

Para ejecutar esta tarea debes hacerlo así:

$ bin/rake "task_name[value 1]" # entire argument string should be quoted

Encomillar el nombre de la tarea y pasar los parámetros entre corchetes ([]) no es muy bonito, estética pura claro. Así que busqué otra forma y la encontré. Se le pueden pasar los parámetros como variables de entorno. Así:

task task_name: :environment do |t|
  arg_1 = ENV['arg_1']
  # You can use arg_1 from here
end

Ten en cuenta que debes hacerla dependiente del entorno de ejecución, si no lo haces, cagada pastoret… Ahora la llamda cambia de la siguiente manera:

$ bin/rake task_name arg_1=Value

Es simple y un poco más claro de leer.

gem install Nokogiri on OS X Mavericks

Por si le sirve a alguien.

Al intentar actualizar las librerias en Rails con el comando bundle update, si falla la instalación de Nokogiri (versión 1.6.6.2 en el momento de la publicación de esta entrada) intentad esto:

$ xcode-select --install

Una vez instalado el paquete podéis probar:

$ gem install nokogiri

A mi me ha funcionado! O_o

Derecho a contrarréplica :P

Ayer mantuvimos un interesante debate respecto al post que publiqué, Catalunya independent, con la suerte de tener réplicas de gente que sabe más que yo. Uno de ellos fue Joaquín Mencía con un post que trataba de refutar mis ideas. Hoy me han entrado ganas de contrarréplica. Es lo que voy a intentar.

Comenta Joaquín que tengo errores de argumentación y contradicciones. A ver si puedo subsanarlos o argumentar mejor mis ideas para aclararlos.

El déficit fiscal

Joaquín argumenta que tengo en cuenta una fórmula errónea para contabilizar el déficit fiscal. Que la buena es no es el flujo monetario, que es la de carga-beneficio. Entiendo lo que argumenta, pero si no me equivoco el presupuesto de la Generalitat no puede tener en cuenta la de la carga-benficio (o dinero que beneficia a Catalunya de manera indirecta), sólo puede calcularlo a partir del dinero que recibe directamente del Estado, que es quien reparte.

Seguramente, mi fallo está en utilizar el déficit fiscal con el cálculo del presupuesto de la Generalitat y lo debería haber argumentado de otra manera.

La centralización masiva

En este punto me refería a una serie de competencias que las comunidades autónomas han ido perdiendo a lo largo de la legislatura del Partido Popular y que el diari Ara recoge en este documento. La mayoría son menores, pero no dejan de ser limitaciones al autogobierno. Hay medidas que van desde la administración pública, comercio, aguas, agricultura, educación, cultura, economia, justicia, deporte… No puedo creer que todas estas medidas tengan como única finalidad el recortar gastos públicos a nivel estatal, y ha creado cierta frustación en Catalunya y un sentimiento de menosprecio.

Catalonia is not Spain

El sentimiento identitario también tiene su peso, y como dice Joaquín poco discutible al tratar de sentimientos. Yo opino que si no hubiera o no fuera importante las culturas acabarían diluyéndose tanto que se acabarían perdiendo muchas de ellas. Por ejemplo, el Catalán no seguiría vivo si no hubiera habido gente que lo siguiera transmitiendo y hablando cada vez que ha sido perseguido y prohibido.

También comenta que no se puede argumentar que una nación «histórica» funciona mejor que una nación artificial. El ejemplo de USA es acertado, y yo no he comentado en ningún momento este hecho. Pero también quiero decir que el sentimiento identitario en USA está muy arraigado aunque sean todos descendientes de inmigrantes. Si lo pensamos bien, Catalunya es un ejemplo a menor escala del mismo fenómeno.

Por un futuro mejor

Aquí Joaquín dice que entro en contradicción. Comentar que un estado nuevo es una oportunidad para mejorar lo malo con las razones que veo que pueden servir para que el nuevo estado no salga de Europa es contradictorio… a mi me deja descolocado. Yo no lo veo así. Y es que creo que son dos temas diferentes.

Primero argumento que es una posibilidad de mejora. En el segundo tema intento enumerar los argumentos que tiene Catalunya para negociar con España y Europa su «no-expulsión» directa de la Unión Europea.

Sobre las multinacionales europeas. Que haya empresas que ya han empezado a moverse y preparar una salida no quiere decir que lo vayan a hacer todas. Esto es una suposición, sí, y cogido un poco con pinzas, es cierto.

Sobre la deuda pública. Claro que Catalunya quiere dar buena imagen a los inversores, y claro que prefiere pagar su parte de deuda, sólo expongo que la deuda pública es titularidad del estado español y que por tanto, muy a las malas Catalunya no es responsable de su pago. Pero sí creo que lo mejor es que durante el proceso de independencia (si este llega) haya una negociación y un acuerdo con España para que el proceso sea lo más favorable para ambas partes, y aqui se incluye el pago de la parte proporcional de la deuda pública.

¿Que si Catalunya será capaz de generar desde el día uno el flujo de caja necesario para cubrir las deudas ya contraídas? Yo no creo que eso tenga que darnos miedo. Si el día uno tiene los elementos y estructuras de estado necesarias para la captación de impuestos, no veo que no lo pueda hacer. La independencia no será automática si el próximo Febrero hay unas elecciones plebiscitarias. Alex Salmond propuso un periodo desde el referendum escocés hasta la declaración de independencia de unos 18 meses, precisamente para dotar al nuevo estado de estos instrumentos y negociar con el Reino Unido la salida pactada. Aquí no debería ser diferente, y Artur Mas ya expuso hace unos pocos días una hoja de ruta semejante.

A groso modo esta es mi contrarréplica, si alguien se anima a seguir con el debate, yo estaré encantado, es una oportunidad de seguir aprendiendo de quien sabe más que yo y de un tema que me parece muy interesante.

Catalunya independent

Recogiendo el guante lanzado por David Bonilla en su conferencia “Políticamente incorrecto” hoy quiero hablar sobre el proceso que vive Catalunya. Ya digo por adelantado que mi posición es a favor de la independencia. Pero voy a intentar, espero que con mayor acierto que error, explicar mi postura.

«Espanya ens roba»

Que España robe a Catalunya no es cierto, lo que pasa es que tiene el mando de la tele y es quien dirige lo que se ve en casa.

La queja desde Catalunya es el conocido déficit fiscal, uno de los más grandes de las regiones de Europa. Se comenta que lo común es que este déficit es entorno al 4 o 5% del PIB de las regiones ricas de Europa, mientras que en Catalunya pasa del 8,5%, el doble o casi. Esto, calculado, hace que se generen unos 16000 millones de euros al año en Catalunya que no vuelven. En una época de recortes (4000 millones el año pasado) y crisis como la actual es una carga enorme para la sociedad catalana.

Catalonia is not Spain

Aquí entra el sentimiento de ser un pueblo o nación diferente. Dentro de todas las similitudes en cuanto a carácter y cultura existen unos rasgos diferenciados. La lengua es el más claro de ellos. Pero sobretodo el sentimiento popular de que históricamente hablando hemos tenido nuestra vida separada al resto de lo que actualmente es el estado español. Yo no soy historiador, soy informático de profesión, por lo que me disculpo si doy algún dato erróneo.

Este tema se ha magnificado con la celebración del tricentenario de la rendición de la ciudad de Barcelona el 11 de Septiembre de 1714 ante las tropas borbónicas durante la Guerra de sucesión. Catalunya apoya a Carlos III como aspirante al trono español en lugar de Felipe V, porque este es respetuoso con las leyes y constituciones catalanas. Felipe V, en cambio, es partidario de centralizar el poder y obviar lo que podríamos decir son las estructuras de estado que entonces tenía Catalunya.

Solo un apunte más sobre este tema. Aunque Catalunya formaba parte del Reino de Aragón, les Constitucions de Catalunya, derogadas por Felipe V el 1714, datan del año 1283, por lo que sí se puede entender como un pueblo con identidad propia y al margen tanto de Aragón y claramente anterior al pueblo español.

La centralización masiva del gobierno de España

Esto viene un poco a colación del déficit fiscal, más que el sentimiento identitario. En los últimos años se han centralizado competencias que el Estatut de Catalunya contempla. El caso más claro y que más revuelo ha causado en Catalunya es la conocida ley Wert y su frase “hay que españolizar a los niños catalanes”. Esto levantó muchas ampollas y es una maquina de independentistas impagable.

Aquí también tengo que comentar la humillación continua desde que el Estatut de Catalunya de 2006 se aprobó y se “cepilló” (sic) por el gobierno central. Las constantes acciones ante el Tribunal constitucional ante cualquier ley promovida desde Catalunya. Y al continuo muro que es el gobierno central con un “NO!” por respuesta a cualquier petición catalana.

Por un futuro mejor

Todos nos preguntamos qué queremos dejar a nuestros hijos para su futuro. Y creo que todos coincidimos en que tengan un futuro mejor al nuestro. Un lugar donde vivir sin pobreza, sin miedo a no encontrar trabajo, sin corrupción… Son solo algunos de los ejemplos que me vienen a la cabeza.

Sinceramente, veo la independencia como un reinicio. Si el sistema no funciona, apagar y volver a encender suele funcionar. Un nuevo estado permitiría la posibilidad de crear algo casi desde cero. Dotarlo de aquello que nos guste del estado en el que vivimos y eliminar más fácilmente aquello que no. Y aquí pienso en la corrupción que hay a todos los niveles, tanto en Catalunya como en España, en la separación real de poderes (legislativo, judicial y económico) y en mejoras sociales. Luego, el resultado ya se verá, pero la posibilidad de mejora existe y es grande.

La pela es la pela

Desde la política española, aquí incluyo no solo al gobierno, se ha querido lanzar siempre el mensaje del miedo. “No habrá dinero para pagar las pensiones”, “Catalunya se quedará fuera de Europa”, y demás frases que simplemente me parecen poco creíbles, por decirlo suave.

Que las pensiones se podrán pagar no hay que dudarlo, se pagan con los impuestos de los trabajadores en activo, no con un dinero ahorrado por el estado. Que nos quedaremos fuera de Europa, puede pasar. Pero que una región de 7 millones de habitantes se quede fuera de un día para otro eso hay que verlo si le interesa a Europa en realidad. Hay multinacionales europeas en Catalunya. Hay un déficit que hay que compartir entre Catalunya y España (la deuda internacional es española, sin una negociación Catalunya no tendría que pagar un solo Euro). Catalunya es una región que sería aportadora neta de dinero a las arcas europeas… Hay suficientes argumentos como para pensar que la expulsión no será todo lo automático y rápido que dicen ser.

Eleccions plebiscitàries

Lo que se avecina, o se intuye que llegará más pronto que tarde, son unas elecciones plebiscitarias. Después del 9N, con más de 2,25 millones de personas votando lo que podríamos calificar de “encuesta” (quedó el tema tan diluido que hasta consulta me parece mucho), parece claro que la sociedad catalana pide las plebiscitarias para buscar el camino a la independencia. Para eso tiene que pasar primero que CIU i ERC, o Mas y Junqueras, se pongan de acuerdo. Algo que parece hoy un poco difícil, ambos enrocados en si lista unitaria o separadas es lo mejor para hacer conseguir el mejor resultado y hacer ver a la opinión internacional qué es lo que quiere el pueblo. Yo deseo que se pongan de acuerdo lo antes posible, y así podamos votar cuanto antes. Y es que, una posible negociación con el gobierno central para contentar a Catalunya, se ve nada creíble y que llegaría demasiado tarde. Aquí ya no se quiere negociar nada más con Madrid, se quiere la independencia de una vez.