2011-06-20 6 views
0

J'ai vu beaucoup de 301 questions mais je n'ai pas trouvé de solution pour le mien donc je vais juste le poster ici.301 rediriger sans index

La norme 301 ressemble à quelque chose comme ceci:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.301redirect\.de$ 
RewriteRule ^(.*)$ http://www.301redirect.de/$1 [L,R=301] 

Eh bien, quand je surfe sur mon site, je finis sur www.domain.tld/index.php/restofquery. Je veux aller à www.domain.tld/quand je surfe sur domain.tld et je ne veux pas non plus index.php dans toute autre requête. Donc, domain.tld/articlebla devrait être www.domain.tld/articlebla.

Un moyen d'accomplir ceci?

Cordialement.

Répondre

0

Pour ajouter simplement sur le www que vous feriez:

RewriteCond %{http_host} ^301redirect\.de$ [NC] 
RewriteRule ^/?$ http://www.301redirect.de/ [R=301,NC] 

Pour ajouter aussi sur les autres parties urls et www, vous feriez:

RewriteCond %{http_host} ^301redirect\.de$ [NC] 
RewriteRule ^(.*?)/?$ http://www.301redirect.de/$1/ [R=301,NC] 

Si vous voulez dire que vous don » t veut la chaîne de requête d'origine sur l'url de redirection alors cela va fonctionner:

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www\.301redirect\.de$ 
RewriteRule ^(.*)$ http://www.301redirect.de/$1/? [L,R=301] 

L'ajout d'un ? à la fin du RewriteRule signifie que la chaîne de requête ne sera pas ajoutée.

+0

Salut. Je voulais dire que lorsque vous surfez sur le domain.tld directement le serveur/le htaccess devrait simplement rediriger vers www.domain.tld. Mais si vous surfez sur domain.tld/query1/query2/etc, il devrait y avoir un www. ajouté au début mais pas index.php. Actuellement, c'est comme domain.tld -> www.domain.tld/index.php et domain.tld/query1/query2/-> www.domain.tld/index.php/query1/query2/ – HIQwolf

+0

Gotcha. Je mettrai à jour ma réponse et je reviendrai vers vous. – Tomgrohl

+0

Réponse mise à jour. – Tomgrohl