La directive Apache Location pour le contenu dynamic échoue si le chemin nested

J’utilise Apache 2.2x. La plupart du contenu est généré via mod_perl. Donc, c’est un contenu dynamic sans mappage de système de fichiers. Utilisation parfaite de .

Configuration d’Apache:

 SetHandler perl-script PerlResponseHandler Finance::Module1   SetHandler perl-script PerlResponseHandler Finance::Module2  

Module1 fonctionne et est montré ici pour montrer que ma configuration fonctionne autrement.

Module2 ne fonctionne pas. Apache dit “Le fichier n’existe pas: / home / joe / www / htdocs / finance”. La seule différence entre les configurations de module est que l’emplacement Module2 contient plusieurs barres obliques (ce que j’appelle un chemin nested).

A propos de l’erreur “Le fichier n’existe pas”: Bien sûr, il n’existe pas – il s’agit d’un emplacement, pas d’un fichier ou d’un répertoire. Alors, pourquoi cela se produit-il?

Je voudrais pouvoir utiliser des chemins avec plusieurs barres obliques car j’ai beaucoup de modules mod_perl, et ce serait bien de les classer à des fins de contrôle. Pour une instance sortingviale, robots.txt pourrait simplement dire:

 Disallow: /finance/ 

Les documents Apache précisent spécifiquement que les directives n’ont pas besoin d’être mappées sur le système de fichiers et conviennent parfaitement au contenu généré dynamicment.

Qu’est-ce que je fais mal? Y at-il un travail autour? (En plus de l’évidence “ne fais pas ça”).

Merci.

Répondre à ma propre question, pour le bénéfice de quiconque se demande la même chose.

Réponse courte, utilisez LocationMatch.

Dans l’exemple ci-dessus, indiquez que les URL sont / finance / module1 et / finance / module2. Avoir le chemin “finance /” permet à tous les gestionnaires financiers d’être configurés en tant que groupe, dans des situations souhaitables.

Par exemple:

  SetHandler perl-script PerlAccessHandler foo   SetHandler perl-script PerlResponseHandler Finance::Module1   SetHandler perl-script PerlResponseHandler Finance::Module2  

Légère typo peut-être?

  

contre.

  

Je ne sais pas si c’est le problème.

Peut-être cela (append à httpd.conf)

 Alias /finance "path-to-files"  Options +Indexes AllowOverride All Order allow,deny Allow from all  

Ensuite, essayez le script. Vous pourriez aussi créer un dossier vide peut-être?