Je cours wordpress 3.2rc2 multisite.
J'ai inséré quelques vidéos au format .mp4 dans la racine de mon domaine afin de pouvoir exécuter quelques tests de base avec le lecteur jw.
Lorsque j'essaie d'accéder à l'URL de la vidéo .mp4, je me retrouve en quelque sorte avec une page 404 wordpress. Cela provoque également des erreurs dans le lecteur jw, indiquant que le fichier n’est pas trouvé ou que l’accès est refusé. Les autorisations sont 644 sur les fichiers mp4 et le propriétaire/groupe est correct.
Pourquoi cela se produit-il et comment puis-je résoudre le problème pour que wordpress cesse de jouer avec mes fichiers mp4?
Aussi: quelqu'un peut-il s'il vous plaît ajouter le tag MP4, je n'ai pas assez de représentants pour le faire pour le moment.
Voici mon fichier htaccess:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm
Modifier Si j'utilise l'outil de téléchargement de médias wordpress, je peux accéder aux vidéos mp4 sans problème. Je ne peux tout simplement pas les placer ailleurs sur le serveur, ce qui pose problème.
Quelqu'un a-t-il d'autres idées quant à la raison pour laquelle WordPress se fout de mes disques mp4 dans d'autres répertoires ou même lorsqu'ils sont à la racine?
Un type mime manquant ne devrait pas provoquer une page 404, mais le type AddType doit être enveloppé dans des balises <IfModule mod_mime.c>
.
<IfModule mod_mime.c>
AddType video/mp4 .mp4 .m4v
AddType video/mpeg .mpeg .mpg .mpe
AddType video/asf .asf .asx .wax .wmv .wmx
AddType video/avi .avi
AddType video/quicktime .mov .qt
AddType audio/ogg .ogg
</IfModule>
J'exécute jw player sur un multisite et je devais utiliser des URL absolues pour accéder au lecteur et au fichier. J'ai créé un dossier dans la racine de mon site contenant le lecteur et les fichiers, puis une fonction permettant d'afficher la vidéo et de mettre le swfobject en file d'attente à l'aide de wp_enqueue_script.
add_action( 'template_redirect', 'load_swf_object' );
function load_swf_object() {
wp_enqueue_script('swf_object', '/jw/swfobject.js');
}
function c3m_play_the_video() {
echo "<div id='front-vid'>
<div id='videospace'>This text will be replaced</div>
<script type='text/javascript'>
var so = new SWFObject('http://example.com/jw/player.swf','mpl','520','350','9');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addParam('wmode','opaque');
so.addVariable('file','http://example.com/jw/video/video_name.mp4');
so.addVariable('image','http://example.com/jw/video/video-face.jpg');
so.addVariable('skin','http://example.com/jw/skins/glow.Zip');
so.addVariable('bufferlength','3');
so.write('videospace');
</script>
</div>";
}
Avez-vous la capitalisation correcte pour le nom de fichier?
Ces règles indiquent essentiellement que si le fichier existe, servez-le au lieu de passer aux règles WordPress:
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
Cela signifie que si le fichier demandé est un fichier existant ou s'il s'agit d'un répertoire, ne réécrivez pas et arrêtez le traitement ([L] = Dernière règle).
Le nom de fichier doit donc être erroné d’une certaine manière, car si le fichier existait avec le nom indiqué, cette règle l’oblige à le servir correctement.