web-dev-qa-db-fra.com

Multisites, problèmes de téléchargement et iOS!

Cette question a beaucoup changé.

J'ai la dernière version de Wordpress et je l’héberge sur un serveur Apache. Lien vers le blog: http://blogs.bzaeds.org/test/2012/05/11/video-test/

Maintenant, voici la chose.

Lorsque je télécharge une vidéo sur Wordpress, celle-ci est lue sur un Mac sous Firefox avec l'URL Wordpress (ex: http://blogs.bzaeds.org/test/files/2012 /05/720-dunk.mp4 "fournisseur =" vidéo). En fait, je peux aller à ce lien dès maintenant sur mon navigateur Firefox et n’avoir aucun problème, cela se passe bien.

Cependant, si je télécharge une vidéo sur Wordpress et que j'utilise l'URL de Wordpress (ex: http://blogs.bzaeds.org/test/files/2012/05/720-dunk.mp4 "fournisseur =" vidéo) , il ne sera pas lu sur un iPad ou un iPhone.

Où cela devient amusant - si j'utilise l'emplacement Apache pour le fichier (ex: http://blogs.bzaeds.org/wp-content/blogs.dir/5/files/ 2012/05/bunny.mp4 ) , tout se passera très bien sur Mac, iPad et iPhone.

Je travaille sur cette question depuis 4 jours et je suis épuisé. Je l'ai finalement réduit à ceci, mais je ne suis pas sûr du réglage de configuration qui causerait un problème comme celui-ci. Toute aide serait grandement appréciée!

Edit: On dirait que c'est le fait que Wordpress ne peut pas gérer les octets et joindre cela avec des répertoires multi-sites et différents et vous obtenez le chaos. Je me rends compte que c’est là le problème, mais je ne suis pas sûr de ce que je ferais pour résoudre ce problème et l’installation de mod_xsendfile ne semblait pas fonctionner, ni l’édition du code jwplayer (que je réessayerai peut-être, je l’ai mal fait.) )

1
Ethabelle

Après 6 jours de pure tristesse, cela a fini par être la solution: http://www.technowut.com/2012/05/14/how-to-stream-videos-to-ios -devices-with-multisite-wordpress/

Voici comment le faire fonctionner sur CentOS 6 avec le package Apache httpd:

Nils Maier a écrit le module pour Apache httpd. Téléchargez la source et prenez le temps de consulter la documentation.

Compilez et installez le module sur la ligne de commande:/usr/sbin/apxs -cia mod_xsendfile.c

NOTE: Je viens d'utiliser miam. :)

yum install mod_xsendfile

Si vous n’avez pas d’APX, vous devrez probablement installer le paquet httpd-devel.

Obtenez cela avec cette commande:

 yum install httpd-devel

Une fois compilé et installé, vous devrez l’activer dans votre httpd.conf ou .htaccess (je l’ai activé en mettant un fichier dans mon répertoire conf.d). Voici les directives que vous devez définir: * (Remarque, je mets ceci dans mon fichier /etc/httpd/conf.d/wordpress.conf au lieu du fichier httpd. conf.)

 XSendFile on
    XSendFileAllowAbove on

Maintenant, redémarrez Apache httpd

 /sbin/service httpd restart

Enfin, vous devez activer la prise en charge dans votre wp-config.php: define ('WPMU_SENDFILE', true);

4
Ethabelle

Il s’agit très probablement d’un problème de configuration du serveur. Par conséquent, ma réponse peut être utile ou non.

J'ai parcouru les deux requêtes via Fiddler, affichant des en-têtes légèrement différents pour les différentes URL: L'URL Apache comprend un en-tête Accept-Ranges: bytes et l'URL WP comprend un en-tête Expires pour la mise en cache.

En-têtes d'URL WordPress:

HTTP/1.1 200 OK
Date: Thu, 10 May 2012 21:13:01 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
Content-Length: 2911708
Last-Modified: Thu, 10 May 2012 19:32:05 GMT
ETag: "bd22bdcf21b610bcbcf0a38e3e3b40ff"
Expires: Sun, 12 Jul 2015 06:59:41 GMT
Connection: close
Content-Type: video/mp4

** En-têtes d'URL Apache:

HTTP/1.1 200 OK
Date: Thu, 10 May 2012 21:13:24 GMT
Server: Apache/2.2.15 (CentOS)
Last-Modified: Thu, 10 May 2012 19:32:05 GMT
ETag: "3ffee-2c6ddc-4bfb3acc88ad9"
Accept-Ranges: bytes
Content-Length: 2911708
Connection: close
Content-Type: video/mp4

Les données renvoyées dans le corps de chaque demande sont identiques . La seule différence est la présence/l'absence de ces en-têtes (et de l'en-tête X-Powered-By dans la demande WP). Si les en-têtes ne sont pas vraiment le problème ici, alors je suppose que cela a quelque chose à voir avec le périphérique sur lequel vous testez (contenu défectueux dans le cache peut-être?).

Mais les deux demandes renvoient le même contenu avec le même codage et le même type de contenu ... elles devraient toutes deux être traitées de la même manière par tout périphérique de récupération. Tout ce qui est brisé à ce stade n'est pas WordPress.

1
EAMann

Il y a un fil vieux de deux ans dans le forum JW Player qui traite le problème et propose une solution de contournement qui peut fonctionner pour vous, mais il s'agit de pirater le code du plugin .

Les gens de Longtail sont très favorables et je vous suggère d’ouvrir un billet là-bas aussi. Et peut-être, je ne suis pas sûr, votre question peut être considérée comme hors sujet ou trop localisée ici.

0
brasofilo