2010-11-17 5 views
0

J'ai une configuration comme siEn utilisant mod_rewrite .htaccess pour contourner une structure de répertoire profond aux actifs CSS

http://localhost/
http://localhost/ci_tada/
http://localhost/ci_tada/application
http://localhost/ci_tada/application/views
http://localhost/ci_tada/application/views/css
http://localhost/ci_tada/application/views/css/master.css

Je ne veux pas avoir à écrire

http://localhost/ci_tada/application/views/css/

chaque fois que je souhaite accéder à un fichier css (en sera de même pour les images ect)

Je veux être en mesure de il suffit d'utiliser http://localhost/ci_tada/css/master.css

et de charger le bon fichier.

Le fichier .htaccess se trouve dans le dossier ci_tada.

Répondre

0

On dirait que vous utilisez une sorte de routes dans un cadre. Vous devriez vérifier, car certains frameworks vous donnent la possibilité de le faire dans la configuration de l'application.

<IfModule mod_rewrite.c> 
RewriteEngine On 

# directory base, untogle if you want to 
# rewrite only starting from /<directory/path> 
# RewriteBase/

RewriteRule ^/css/(.*)$ index.php/ci_tada/application/views/css/$1 [PT,L] 
#or RewriteRule ^/(.*)/css(.*)$ index.php/$0/views/css$1 [PT,L] 
#or RewriteRule ^/(.*)/css/(.*)$ index.php/$0/views/css/$1 [PT,L] 

</IfModule> 

Beware that the last two redirect everything that contains /css/ in the path.


edit:1: It is considered best practice in CI (from what I've read), to set a static directory on your root like this:

 

    /
    .../static 
    ......./css 
    ......./js 
    .../application 
    ......./controller 
    .../... 

So that you can simply use /static/css/file.css en ligne dans vos vues. Voir aussi ces ressources si elles peuvent aider:

+0

Ah je n'ai même pas pensé au routage. Toute idée sur la façon dont je pourrais faire le routage dans le code Igniter comme, autant que je sache, le routage passe toujours par l'index.php – Hailwood

+0

Répondre ci-dessus sous edit: 1 – eagleal

+0

Pouvez-vous nous montrer votre. Htaccess, afin que je puisse intégrer avec la réponse ci-dessus. Voir aussi ce thread SO si cela aide http://stackoverflow.com/questions/3729340/how-do-i-add-some-static-routes-to-a-codeigniter-app – eagleal

0

Je pense que vous parlez de Zend Framework. Vos quelques lignes sont

/

/application

Comment chaque demande peut être redirigé vers CSS /? Alors votre application ne fonctionnera pas!

Dans Zend Framework, l'application/layouts/scripts/layout.phtml, vous mentionnez le fichier css comme ceci:

<?php echo $this->headLink()->prependStylesheet($this->baseUrl().'/css/site.css'); ?> 

fichier dans le dossier Css aller du projet. C'est en dehors du dossier de l'application: \ quickstart2 \ public \ css.

J'espère que je ne recevrai pas de réponse.

+0

Code Igniter effectivement :) – Hailwood

+0

ok, ZF a cette facilité. Code Igniter devrait aussi avoir comme ça. Si vous corrigez votre code en cours de développement, vous pouvez avoir des problèmes à un stade ultérieur! –

Questions connexes