2013-03-13 5 views
0

Salut à tous je le fichier htaccess normal pour CodeIgniter et je veux 301 une URL à un autreCodeIgniter htaccess 301

J'ai dû obscurcir les liens pour pouvoir poster :(

-à-dire h2tp : // www domaine com/contrôleur/méthode/valeur1 -> h2tp: // www domaine com/contrôleur/méthode/valeur2

mais je vais avoir un enfer d'un temps ...

Voici le htaccess

<IfModule mod_rewrite.c> 
     RewriteEngine On 
     RewriteBase/

     RewriteRule ^(home(/index)?)/?$/[L,R=301] 
     RewriteRule ^(.*)/index/?$ $1 [L,R=301] 


     #Removes trailing slashes 
     #had to remove ajaxquery search else it fails 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteCond %{REQUEST_URI} !(search/ajaxsearch) 
     RewriteRule ^(.+)/$ $1 [L,R=301] 


     #Rewrite all non-www to www based filenames 
     #should get rid of any canonical issues 
     RewriteCond %{HTTP_HOST} ^domain\.es [NC] 
     RewriteRule ^(.*)$ http://www.domain\.es/$1 [R=301,L] 


     #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] 

     #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>[/code][/quote] 

Si je mets

Redirect 301 /controller/method/value1 h2tp://www domain com/controller/method/value2 

-je obtenir ce

h2tp: // www contrôleur/méthode/valeur1

domaine com/contrôleur/méthode/valeur2 Je suis heures? sur ce maintenant, il me tue :)

+0

Pourquoi ne pas simplement utiliser le routage intégré de CI? –

+0

J'avais vraiment besoin du 301 que Ci vous donne? – user2164372

+0

Non, c'est juste une redirection interne désolé. –

Répondre

0

En raison de mon manque total de connaissances sur htaccess, j'essayais d'ajouter les redirections 301 ci-dessous ces lignes. Toutes les vérifications avaient été exécutées à ce moment-là et l'indicateur [L] était en train d'arrêter les contrôles en cours d'exécution. Ainsi, lorsque j'ai posté une redirection 301 normale au-dessus des lignes suivantes, cela a fonctionné.

#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]