2010-09-15 8 views
0

J'utilise codeigniter et ci-dessous est mon fichier htaccess. Cependant, je veux qu'un seul répertoire soit accessible en dehors de l'application codeigniter via mon domain.com/directory. l'autre répertoire est un forum non lié à codeigniter. comment pourrais-je mettre en place une règle dans htaccess? Je n'ai pas accès à http.confhtaccess et mod_rewrite codeigniter

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    #Removes access to the system folder by users. 
    #Additionally this will allow you to create a System.php controller, 
    #previously this would not have been possible. 
    #'system' can be replaced if you have renamed your system folder. 
    RewriteCond %{REQUEST_URI} ^system.* 
    RewriteRule ^(.*)$ /index.php?/$1 [L] 

    #When your application folder isn't in the system folder 
    #This snippet prevents user access to the application folder 
    #Submitted by: Fabdrol 
    #Rename 'application' to your applications folder name. 
    RewriteCond %{REQUEST_URI} ^application.* 
    RewriteRule ^(.*)$ /index.php?/$1 [L] 

    #Checks to see if the user is attempting to access a valid file, 
    #such as an image or css document, if this isn't true it sends the 
    #request to index.php 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php?/$1 [L] 
</IfModule> 

<IfModule !mod_rewrite.c> 
    # If we don't have mod_rewrite installed, all 404's 
    # can be sent to index.php, and everything works as normal. 
    # Submitted by: ElliotHaughin 

    ErrorDocument 404 /index.php 
</IfModule> 

Répondre

0

Cela devrait déjà fonctionner. RewriteCond %{REQUEST_FILENAME} !-d indique à mod_rewrite d'ignorer les répertoires réels, et RewriteCond %{REQUEST_FILENAME} !-f lui dit d'ignorer les fichiers réels.

+0

j'essaie quelque chose, mais le problème que je pense est que lorsque je navigue à domain.com/directory~~V~~singular~~3rd CodeIgniter traite répertoire comme un contrôleur, mais je veux que le répertoire à traiter comme un dossier normal. il a son propre fichier index.php et htaccess. Laissez-moi voir comment ce test va. Mais obtenez-vous ce que je dis? devrais-je encore être d'accord? – Kyle

+1

Ce que je dis, c'est que je ne sais pas pourquoi c'est un problème. 'RewriteCond% {REQUEST_FILENAME}! -d' signifie ne pas réécrire si le nom de fichier est en réalité un dossier. Une chose à essayer est d'ajouter une barre oblique à la fin de l'URL: 'domain.com/directory /' au lieu de 'domain.com/directory'. –

0

J'utilise ceci pour exclure n'importe quel dossier d'être analysé en tant que contrôleur par codeigniter. Ainsi www.domain.com/images/ fonctionnerait comme un dossier normal, etc. Vous pouvez y mettre vos directives individuelles d'htaccess. Bonne chance!

RewriteCond $1 !^(folders_to_exclude_from_CI|images|css|assets|resources|robots\.txt) 
Questions connexes