2010-10-20 5 views
1

Je peux télécharger une vidéo sur mon instance drupal, mais lorsque j'essaie d'afficher la vidéo, je n'ai pas le droit de le faire. J'ai découvert que IIS_IUSR n'a pas Lire & Exécuter des droits sur la vidéo même si le IIS_IUSR fait sur le répertoire contenant. Exécuter, afficher le contenu du dossier et lire les droits sur le répertoire dans lequel les fichiers sont téléchargés. Cependant, quand je regarde les droits du fichier vidéo téléchargé (quelque chose.mp4), IIS_IUSR n'a que des droits de données List/Read List et Windows dit que ceux-ci sont hérités de l'objet parent. Inclure les autorisations pouvant être héritées de l'option parent de l'objet est cochée.Je ne peux pas regarder les vidéos que je télécharge sur drupal

Voici d'autres informations qui pourraient vous être utiles.
Si j'essaie d'accéder à une vidéo directement via une URL, j'obtiens cette erreur:
Erreur HTTP 500.50 - Erreur de réécriture d'URL.
La page ne peut pas être affichée car une erreur interne du serveur s'est produite.

Module RewriteModule
Avis BeginRequest
Handler StaticFile
Code d'erreur 0x80070005

Cela semble être un problème de configuration quelque part, à savoir Drupal, IIS ou Windows.

Aucune idée.

Mon environnement:

  • Windows 2008 R2
  • IIS 7.5
  • Drupal 6,19
  • MySQL 5.1.49
  • PHP 5.2.14

Quelqu'un a demandé que je poster mon .htaccess. Il y en a plusieurs pour le site, mais voici celui du répertoire des fichiers où les vidéos sont téléchargées.

SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
options Aucun
options + FollowSymLinks

Mais est .htaccess non seulement utilisé avec Apache? J'utilise IIS, est-ce que le .htaccess est même utilisé?

+0

Utilisez-vous un filtre ISAPI? –

+0

Je ne crois pas que j'utilise un filtre ISAPI. Comment est-ce que je vérifierais oui ou non dans IIS? – Notorious2tall

+0

Après quelques recherches supplémentaires, je pense que ce problème est lié à la façon dont les fichiers sont téléchargés dans un répertoire temporaire, puis copiés dans le répertoire de mes fichiers sous wwwroot. Les fichiers semblent conserver les perms qui ont été appliquées en premier dans le répertoire temp. C'est ma théorie maintenant au moins et je m'en tiens à cela. – Notorious2tall

Répondre

0

Les vidéos fonctionnent en modifiant le répertoire de téléchargement temporaire sur lequel Windows télécharge les fichiers avant qu'ils ne soient déplacés dans le répertoire Web. Par défaut, Windows utilise C: \ Windows \ Temp et, dans mon cas, les permissions définies sur le fichier ont été conservées lorsqu'elles ont été déplacées de Temp vers le répertoire web. Je ne voulais pas définir les autorisations IIS_IUSR sur ce dossier, donc j'ai créé un répertoire différent juste sous le lecteur C et lui ai donné IIS_IUSR lecture/exécution perms. Puis j'ai mis à jour mon fichier php.ini pour pointer vers ce nouveau répertoire. Tout fonctionne bien maintenant. Je pense que la clé était de mettre ce répertoire temporaire en dehors de Inetpub parce que j'ai essayé cette même configuration mais avec le répertoire temp dans Inetpub et cela n'a pas fonctionné.

+0

J'ai le même problème, j'ai essayé ceci et maintenant IUSR et IIS_IUSR ont toutes les autorisations, mais obtenant toujours l'erreur 500 en regardant la page. Des idées? – theringostarrs

+0

En fait, IUSR dispose des autorisations correctes, mais IIS_IUSR ne le fait pas, ce qui entraîne toujours l'erreur 500 en regardant la page. Des idées? – theringostarrs

+0

J'ai fini par changer l'utilisateur Anonymous Authentication pour mon site Web dans IIS à ApplicationPoolIdentity et cela a fonctionné pour moi (plutôt que IUSR). – theringostarrs