2010-05-22 3 views
3

Je suppose que ce sont toutes des questions que tout le monde doit savoir, car je ne le vois pas dans la documentation :-DZend Framework-Est-ce que les images, les mp3s, les scripts, etc., vont juste dans le dossier public?

Je comprends que le dossier public est le dossier auquel le monde a accès.

Je sais que c'est le cas avec le dossier css, mais en migrant un site php traditionnel, mon dossier/images,/js dossier/mp3s, etc Seront-ils tous aussi des dossiers publics qui seront accessibles via les pages layout ou view.phtml?

Merci!

+1

Mettez ces dossiers en public / – chelmertz

Répondre

1

Oui, je crois. Ce répertoire est l'interface principale pour Apache - dictée par vos paramètres .conf. Index.php traite vos actions d'index et tout le reste (qui existe) dans ce répertoire (ou ci-dessous) sera référencé directement par Apache comme un fichier statique.

[éd. Je suppose Apache en tant que représentant du monde du serveur web]

0

Si vous passez commande la section de réécriture du Zend_Controller Quickstart, vous trouverez:.

Les règles ci-dessus vont acheminer les demandes aux ressources existantes (en conséquence, les liens symboliques existants, les fichiers non vides ou les répertoires non vides) et toutes les autres demandes adressées au contrôleur frontal.

Cela couvre votre javascript, vos mp3s et vos images.

0

Ces .htaccess entrées veiller à ce que les demandes de vos biens sont gérés directement, et non par mod_rewrite:

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 

Vous venez de mettre vos fichiers dans le répertoire de base du public, puis dans votre vue utilisation BaseUrl aide de vue :

<a href="<?= $this->baseUrl('mp3/ie.mp3'); ?>">IE is mean to me, again</a> 

Si vous devez placer les fichiers quelque part ailleurs, vous pouvez utiliser setBaseUrl().

Questions connexes