Pregunta para nota a los que dominen mod_rewrite

Inicio Foros WordPress Plugins Pregunta para nota a los que dominen mod_rewrite

Este debate contiene 7 respuestas, tiene 2 mensajes y lo actualizó  davidlluna hace 8 años, 7 meses.

  • Autor
    Publicaciones
  • #16983

    imported_j.conti
    Participante

    <p>Bien, para empezar, mi problemática se refiere a un Plugin para WordPress MU + iPhone.</p>
    <p>El plugin en concreto es WordPresscom video server.</p>
    <p>http://code.trac.wordpress.org/browser/wordpresscom-video-server</p&gt;
    <p>En qué consiste este plugin:</p>
    <p>Te crea un Video Servidor usando las funciones de WordPress MU</p>
    <p>He realizado unas modificaciones al plugin, para que, aparte de realizarme las transformaciones normales a x264 (std, DVD y HD), me la realice también una extra para poder realizar streamming sobre un iPhone.</p>
    <p>Hasta aquí ningún problema.</p>
    <p>A la hora de insertar el video en la entrada, uso dos cosas:</p>
    <p>1.- EL plugin Exec-PHP http://wordpress.org/extend/plugins/exec-php/ para poder crear un If con identificador de navegador.</p>
    <p>2.- Inserto en la entrada el siguiente código para poder discriminar y poder mostrar el contenido según el navegador:</p>
    <p>

    </p>
    <p>El código me funciona a las mil maravillas. Me discrimina el navegador y me muestra el video que yo quiero, pero aquí viene el problema.</p>
    <p>Si accedéis a http://wp.me/ptMDO-6I mediante vuestro ordenador, podréis ver un video en HD.</p>
    <p>Pero al acceder al enlace con el iPhone (quien lo tenga claro), veréis que he insertado dos video. Son el mismo video pero con 2 path diferentes.</p>
    <p>El primer path, es el normal de WordPress MU, es decir, …/wp-content/blogs.dir/1/files/2010/04/archivo.mp4 y no se ve.</p>
    <p>El segundo video, es una copia del archivo en un path diferente, he cambiado “files” por “file”, es decir:<br />
    …/wp-content/blogs.dir/1/file/2010/04/archive.mp4</p>
    <p>El resultado es que este Segundo video sí que se ve.</p>
    <p>Finalmente, he dado con la problemática, ya que hasta que he llegado a ella me he vuelto loco.</p>
    <p>La problemática está en el mod_rewrite, exactamente aquí:</p>
    <p> </p>
    <p>He comentado las líneas y el vídeo, sobre el iPhone, se veía perfectamente.</p>
    <p>Lógicamente, no puedo eliminar estas líneas, ya que me cargo directamente todo lo subido a los blogs.</p>
    <p>La pregunta es lógica… ¿Alguien sabría decirme, como modificar estas líneas SOLO para el iPhone y SOLO para los archivos, por ejemplo, que acaben en _iphone.mp4?</p>
    <p>La idea, sería que si el archivo finaliza en _iphone.mp4 y se realizara la petición desde un iPhone, no hiciera caso al anterior mod_rewrite y se pudiera poner un enlace directo al video. En estos momentos, si se usa el enlace directo (intentando no hacer uso del mod_rewrite) no lo encuentra (culpa del nombre de directorio “files”.</p>
    <p>No sé si me he explicado correctamente.</p>
    <p>Dicho esto.</p>
    <p>Si alguien encuentra la solución, haré lo imposible para que Videopress http://videopress.com se pueda usar para videos sobre iPhone (en estos momentos no es posible precisamente por este extraño problema).</p>
    <p>Un saludo
    </p>

  • #40450

    imported_j.conti
    Participante

    ¿Ningún experto de mod_rewrite?

  • #40457

    davidlluna
    Participante

    Hola Jose, experto no, pero si puedo ayudarte, lo que pasa es que voy un poco de culo esta semana, simplemente tienes que meter un par de RewriteCond en cadena [AND], uno para USER_AGENT del IPHONE y otro con el REQUEST_URI con _iphone.mp4 final.

    Toma esto como inicio, sino lo solucionas, cuando tenga un rato te lo miro

    Saludos!

  • #40467

    imported_j.conti
    Participante

    Hola Lluna, gracias.

    Estas soluciones las vi buscando en intenrnet.

    Pero la verdad es que no me salgo, el tema del mod_rewrite es una cosa que me repatea en donde más duele. Somos incompatibles :S

    Mi problema es que busco que no me realice ningún mod_rewrite, no añadir uno.

    No se lo que pasa, pero el reproductor de video no soporta los mod_rewrite. Igual es un bug que será resuelto, pero por el momento habría que esperar al Junio para saberlo.

    No se si existe la posibilidad de decir que un RewriteRule no sea realizado por un iPhone/iPod

    Igual la negación a un browser en determinado no existe. Solo se pueden poner condiciones…

    Lo que significaría poner todos los browsers en el RewriteCond a exepción del iPhone/iPod y que ademas, solo fuera referente a los archivos que acabaran en _iphone.mp4

    Yo la verdad es que odio el mod_rewrite 🙄

    Un saludo

  • #40516

    imported_j.conti
    Participante

    Ala, a escribir un poquito más, que no quiero que se quede en el
    olvido mi pregunta 🙂

    Pero sin prisas :O

    un saludo

  • #40613

    davidlluna
    Participante

    Hola José, ya estoy por aqui, a ver, esto debería ( no lo he probado ) funcionar:

    Lo que se hace es poner estas dos condiciones

    Por defecto el RewriteCond hace comparaciones AND, por lo que esto dice:

    [b]SI[/b] el archivo no acaba en _iphone.mp4 [b]Y[/b] no estas navegando desde un iPhone, [b]ENTONCES[/b] aplico la regla [b]RewriteRule ^(.*/)?files/$ index.php [L][/b], [b]SINO[/b] pues no hago nada.

    No lo puedo probar porque no tengo un MU instalado, pero sino te funciona me instalo uno y lo pruebo bien

    Saludos!

  • #40619

    imported_j.conti
    Participante

    Chico… me saco el sombrero.

    Funciona a la perfección.

    Voy a realizar un ticket y a publicarlo en el blog oficial del plugin.

    Un saludo y Muchísimas gracias.

  • #40639

    davidlluna
    Participante

    yujuuuuuu! 🙂 Me alegro

El foro ‘Plugins’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest

Ir al contenido