2010-11-11 5 views
0

Je souhaite rediriger le http: mydomain.com vers http // www.mondomaine.com. Je dois aussi inclure une condition supplémentaireAide htaccess requise

RewriteCond $1 !^(index\.php|images|css|uploads|editor|albums|js|robots\.txt) 
RewriteRule ^(.*)$ index.php/$1 [L] 

Et je rediriger le code comme

RewriteCond %{HTTP_HOST} ^mydomain\.com 
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,NC] 

Comment combiner ces deux dans un seul fichier htaccess?

-Arun

Répondre

1

Copiez et collez ensemble dans un fichier .htaccess devrait être suffisant. Il n'y a aucune raison pour que ces deux-là ne puissent pas être réunis en un .htaccess. Vous devriez avoir le www une première course si:

RewriteEngine On  
RewriteCond %{HTTP_HOST} ^mydomain\.com 
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,NC] 

RewriteCond $1 !^(index\.php|images|css|uploads|editor|albums|js|robots\.txt) 
RewriteRule ^(.*)$ index.php/$1 [L] 
+0

Lorsque j'essaie les deux, il affiche une erreur interne du serveur. Si je commente les deuxièmes règles, la redirection fonctionnera, mais j'ai besoin des deux conditions sinon mes dossiers seront rendus publics. –

0

La réponse de Litso semble bon pour moi, mais essayer de toute façon ..

RewriteEngine On  
RewriteCond %{HTTP_HOST} ^mydomain\.com 
RewriteRule (.*) http://www.mydomain.com/$1 [R=301,NC] 

RewriteCond %{REQUEST_URI} !^(index\.php|images|css|uploads|editor|albums|js|robots\.txt) 
RewriteRule (.*) index.php/$1 

J'ai remplacé $! dans la deuxième condition et supprimé les ancres^$ redondantes des règles.