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

Nouveau WRInaute
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:
# 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
 
WRInaute passionné
Code:
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:
RewriteCond %{THE_REQUEST} ^GET\ .*/index\.(php|html)\ HTTP
RewriteRule ^(.*)index\.(php|html)$ /$1 [R=301,L]
 
Nouveau WRInaute
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
 
WRInaute passionné
Guizbizet a dit:
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.
 
Nouveau WRInaute
Monty973 a dit:
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 dit:
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
 
Nouveau WRInaute
C'est bon à force de tâtonnements j'ai trouvé

voici le htaccess
Code:
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
 
Discussions similaires
Haut