2009-06-24 4 views
3

J'utilise le serveur Web intégré de Visual Studio pour tester et appliquer l'application EPiServer. Lorsque l'application est en cours d'exécution dans IIS, si j'appuie sur la racine du répertoire virtuel, EPiServer prendra le relais et me servira la page par défaut. En utilisant le serveur Visual Studion (ce que je fais pour des raisons de licence avec le SDK), cela me donne toujours la vue 'Directory Listing' de mon site. Est-ce que quelqu'un sait comment configurer ce serveur Web pour ne pas permettre la liste de répertoire/navigation?Désactiver la navigation dans le répertoire du serveur Web Visual Studio

Informations complémentaires: Ce problme ne semble pour effectuer la racine du serveur web studion visuel (je vais l'appeler d'ici cassini dans). Par exemple, si j'exécute un site depuis localhost: 6666, ce que je trouverai, c'est que localhost: 6666/fr/fonctionnera très bien et que l'EPiServer VPP saura ce qu'il fait. Si j'utilise localhost: 6666 /, alors le VPP ne se déclenche jamais (ou alors ça colle). Il me semble que lorsque la racine de cassini est atteinte, elle vérifie si la page existe (ce qui n'est pas le cas car je n'ai pas de défaut). S'il décide que la page n'existe pas, alors il sert la liste du répertoire, plutôt que 404. La première chose à faire pour moi est de parcourir le répertoire dispable dans cassini, puis regardez pourquoi le VPP n'est pas actionné correctement.

Donc je suppose que la base de la question est: Y a-t-il un moyen de modifier ces paramètres dans Cassini quand Visual Studio démarre tout?

(EPiServer peut être un hareng rouge, mais juste au cas où, il est la version CMS 5)

plus de mise à jour j'ai réussi à mettre la main sur la source de Cassini 3.5 et donné qu'un tourbillon. 3.5 fonctionne très bien et se comporte comme IIS dans ce cas. C'est à dire. l'absence de document par défaut n'aboutit pas à une liste d'annuaire, mais permet aux gestionnaires HTTP de se lancer et EPiServer fait le reste! Donc la question est, puis-je obtenir la même chose dans les efforts de Visual Studios sur un serveur web?

Répondre

3

Assurez-vous d'avoir un fichier ~/Default.aspx. Il ne sera pas rendu, mais Cassini a besoin des fournisseurs de chemins virtuels pour avoir la possibilité de gérer la requête pour '/'. Bien sûr, si vous le faites de toute façon, vous pouvez aussi bien l'utiliser pour la page de démarrage :-)

+0

Acclamations Allen, c'est à peu près ce que j'ai fini par faire à la fin :) – mnield

0

Même si vous pouviez demander au serveur de ne pas afficher la liste des répertoires, pourriez-vous demander à EPiServer de prendre le relais?


EDIT: D'après les commentaires Le fait que cela fonctionne avec/en/me fait penser c'est quelque chose que Microsoft pourrait corriger. Je vous suggère de demander au vendeur s'ils ont une solution de contournement. Si ce n'est pas le cas, veuillez créer une suggestion au http://connect.microsoft.com/visualstudio/. Assurez-vous de spécifier des détails sur EPIServer, l'URL du fournisseur, etc.

Soyez clair que cela fonctionne avec/fr, mais vous voulez un paramètre permettant de travailler à la racine. Une fois que vous avez créé la suggestion, veuillez modifier votre question pour inclure le lien vers la suggestion que vous avez créée. De cette façon, d'autres personnes lisant votre question peuvent voter sur leur importance.

+0

Je suppose que oui. Comme j'ai dit. Cela fonctionne très bien dans IIS lorsque la navigation dans les répertoires est désactivée. Il le fait aussi bien si je spécifie un langage tel que http: // localhost: 6666/fr /, mais en utilisant http: // localhost: 6666/donne juste la liste du répertoire. Il m'a grogné beaucoup aujourd'hui :) – mnield

+0

(grr - je ne voulais pas que ces elinks pour rendre comme ça, imaginez quelques http: // bits) – mnield

0

La partie EpiServer me perturbe. Cependant, si vous demandez comment définir la page par défaut pour le serveur de développement VS (basé sur le code Cassini), vous devez le faire dans les propriétés du projet (clic droit sur le projet web), Web, Démarrer l'action, Spécifique Page, foo.aspx. Je suppose que le serveur de développement cassini/VS n'a pas de fonction de page par défaut - le code source du serveur cassini (l'ancêtre du serveur de développement VS) is on the web and you can check that et ajouter une page par défaut en créant une version personnalisée. Et il n'a pas une très longue liste d'autres fonctionnalités que IIS a.

+0

Merci matt, je vais jeter un oeil à la source et voir si je peut gleen quoi que ce soit qui pourrait aider à la racine. – mnield

+0

Iterasting, a obtenu une copie de Cassini 3.5 et cela fonctionne comme un charme! Je vais mettre à jour ma question – mnield

0

Quelle version d'EPiServer utilisez-vous? L'avez-vous installé en utilisant EPiServer Manager?

Il y a toujours eu des différences dans la configuration entre l'exécution du site à la racine d'un nom d'hôte ou d'un répertoire (virtuel).

Vérifiez le bloc de paramètres de site dans web.config et assurez-vous d'avoir un fichier default.aspx à la racine du projet.

+1

Je cours la version 5.2.375.133 (je peux probablement dire CMS 5 SDK :) :) Je peux mettre un default.aspx bien sûr. Mais ma requête est vraiment plus que ça, quand je n'ai pas de deafult.aspx et que je pointe le même code à travers IIS, EPiServer va automatiquement choisir le premier langage activé, mais dans le serveur web de Visual Studio il semble supposer qu'il y a pas de document par défaut, ignorant le VPP et rejetant une liste de répertoires. Alors peut-être que je demande vraiment comment faire pour que le serveur web fasse l'équivalent de ne pas permettre la navigation dans les répertoires ... ou bien je suis en train de divaguer comme un fou. – mnield

Questions connexes