Renvoyer www.domaine.net/index.php vers www.domaine.net

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

Guizbizet
Nouveau WRInaute
 
Messages: 4
Inscription: Mer Sep 27, 2006 16:27

Renvoyer www.domaine.net/index.php vers www.domaine.net

Message le Dim Oct 28, 2007 16:09

Bonjour,

Je tiens un blog qui tourne sous dotclear2 et qui est hébergé chez 1&1.
j'ai récemment viré le index.php de mes urls via un htaccess que voici

Code: Tout sélectionner
# Pour activer PHP 5 :
AddType x-mapp-php5 .php
DirectoryIndex index.php/

#Activation du module de réécriture
RewriteEngine On

#renvoi de bizetfamily.net vers www.bizetfamily.net pour éviter le duplicate content
RewriteCond %{HTTP_HOST} !^www.bizetfamily.net$
RewriteRule ^(.*) http://www.bizetfamily.net/$1 [QSA,L,R=301]

#Redirection de http://www.bizetfamily.net/index.php/ vers http://www.bizetfamily.net/

#suppression de index.php des urls
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php/$1


Actuellement quand un internaute tape http://www.bizetfamily.net/index.php/ ou http://www.bizetfamily.net/ on arrive sur la même page.
Je souhaiterais que les personnes tapant http://www.bizetfamily.net/index.php/ soient renvoyées sur http://www.bizetfamily.net/

J'ai essayé pas mal de choses mais à chaque fois j'obtenais un message d'erreur :
Redirection de page incorrecte
Firefox a détécté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas


Et là je me retrouve vraiment sec ;) et j'avoue qu'un peu d'aide ne me ferait pas de mal ;)
Merci d'avance pour votre aide

PS : J'ai posté un billet sur mon blog pour expliquer dans le détail mon cas de figure et ma configuration. Si vous souhaitez le consulter cliquez ici


Monty973
WRInaute accro
WRInaute accro
 
Messages: 1614
Inscription: Mar Mar 21, 2006 4:52

Message le Dim Oct 28, 2007 16:22

Code: Tout sélectionner
if ($_SERVER['REQUEST_URI'] == '/index.php/')
   {
      header("Status: 301 Moved Permanently", 301);
      header("Location: http://www.bizetfamily.net/");
      exit;
   }


Quelque chose comme ça dans index.php devrait marcher. Ca marche sous DotClear 1, je ne connais pas DC2.

Par curiosité, les "nofollow" sur les commentaires, c'est par défaut sur DC2 ou c'est toi qui les a mis ?

[edit]Sinon il y a un truc qui ne vas pas: sur cet URL :

-http://www.bizetfamily.net/index.php (sans slash de fin)

tu tombes sur une page non trouvée (au lieu de rediriger vers le NDD/ou une 404 et qui renvoie un code 403)

Tu peux peut-être essayer de rajouter quelque chose comme ça dans ton .htaccess :

Code: Tout sélectionner
RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html)\ HTTP
RewriteRule ^(.*)index\.(php|html)$ /$1 [R=301,L]

Guizbizet
Nouveau WRInaute
 
Messages: 4
Inscription: Mer Sep 27, 2006 16:27

Message le Dim Oct 28, 2007 17:34

Monty973 Merci

Pour la curiosité, les nofollow sur les commentaires c'est automatique mais je crois que l'on peux activer /désactiver l'option. Pourquoi me pose tu cette question ? Il vaut mieux les mettre les nofollow ou pas ?

Alors en fait je ne peux pas utiliser le php puisque dotclear2 est construit sur un système de templates qui n'autorise pas l'execution de php en son sein.
C'est pourquoi je voudrais absolument passer par un htaccess

J'ai mis la rewrite rule que tu indiques et résultat :
http://www.bizetfamily.net/index.php (sans slash de fin) est bien redirigée sur http://www.bizetfamily.net/
Par contre http://www.bizetfamily.net/index.php/ (avec slash de fin) n'est pas redirigée

Quelle autre rewrite dois-je ajouter ?

Merci


Monty973
WRInaute accro
WRInaute accro
 
Messages: 1614
Inscription: Mar Mar 21, 2006 4:52

Message le Dim Oct 28, 2007 21:24

Guizbizet a écrit:Alors en fait je ne peux pas utiliser le php puisque dotclear2 est construit sur un système de templates qui n'autorise pas l'execution de php en son sein.
C'est pourquoi je voudrais absolument passer par un htaccess


Je ne sais pas comment est conçu DC2, mais ça m'étonnerais beaucoup que tu ne puisses pas, à un endroit ou à un autre, ajouter du code pour envoyer les headers... (même si c'est vrai que modifier le core n'est sans doute pas la meilleure solution)

Pour le faire via .htaccess je ne sais pas, j'avais essayé plusieurs règles de rewrite sans succès d'ou la solution en php pour cet URL particulier : index.php/

Pourquoi me pose tu cette question ? Il vaut mieux les mettre les nofollow ou pas ?

Avec DC1, les commentaires n'étaient pas "nofollowed" par défaut, c'était quasiment le seul point positif que je trouvais à DotClear comparé à WordPress, je trouve dommage qu'ils suivent le mouvement.

Guizbizet
Nouveau WRInaute
 
Messages: 4
Inscription: Mer Sep 27, 2006 16:27

Message le Dim Oct 28, 2007 22:56

Monty973 a écrit:Je ne sais pas comment est conçu DC2, mais ça m'étonnerais beaucoup que tu ne puisses pas, à un endroit ou à un autre, ajouter du code pour envoyer les headers... (même si c'est vrai que modifier le core n'est sans doute pas la meilleure solution)
Pour le faire via .htaccess je ne sais pas, j'avais essayé plusieurs règles de rewrite sans succès d'ou la solution en php pour cet URL particulier : index.php/

Je me suis mal exprimé :-/
On peux executer du php au sein du système de template mais apparement ce n'est pas très simple et je ne sais pas le faire, c'est pour cela que je recherche une solution avec le htaccess

Si quelqu'un a une idée je suis preneur :)


Monty973 a écrit:Avec DC1, les commentaires n'étaient pas "nofollowed" par défaut, c'était quasiment le seul point positif que je trouvais à DotClear comparé à WordPress, je trouve dommage qu'ils suivent le mouvement.

Je viens de vérifier l'option est activable/désactivable dans le panneau d'admin, donc il y a encore le choix

Guizbizet
Nouveau WRInaute
 
Messages: 4
Inscription: Mer Sep 27, 2006 16:27

Message le Lun Oct 29, 2007 1:03

C'est bon à force de tâtonnements j'ai trouvé

voici le htaccess
Code: Tout sélectionner
RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html)\ HTTP
RewriteRule ^(.*)index\.(php|html)$ /$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php/|html/)\ HTTP
RewriteRule ^(.*)index\.(php/|html/)$ /$1 [R=301,L]


Merci de votre aide


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités