Problème pour la création de mon .htaccess

WRInaute occasionnel
Bonjour à tous, voilà que j'ai une question!! oulala!

Donc je dispose d'un site web que j'appellerais ndd pour tout faciliter.

Je suis chez 1&1 avec un Server Type: Apache/1.3.34

Si j'ai tout bien compris, la manoeuvre d'anti-duplicatecontent consiste à rediriger le http://ndd.com vers http://www.ndd.com


Que ce soit cela où l'inverse mon problème reste le même à savoir: comment effectuer cette redirection? et surtout quel attributs donner au .htaccess uploader (777 etc...)
Je vous remercie d'avance chez colègues ^^
 
WRInaute discret
Bonjour,
Code:
Options +FollowSymlinks


RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(([^/]+/)*)index\.html\ HTTP/
rewriterule index\.html$ http://www.ndd.com/%1 [R=301,L]

RewriteCond %{HTTP_HOST} ^ndd.com $
RewriteRule ^(.*)   http://www.ndd.com/$1  [QSA,L,R=301]
En faisant quelque chose comme ça, en même temps je renvoie l'index vers la racine aussi.

Pour le chmod personnellement je le met en 644
 
WRInaute impliqué
Je suis aussi chez 1and1 pour mon www. Je te met une partie du .htaccess de ce site. Il fait la redirection que tu demande mais aussi:
- traitement correct des erreur 404 (ErrorDocument ne marche pas chez 1and1 pour l'erreur 404)
- Il utilise index.php comme page d'accueil, met ce que tu veux, ou supprime la ligne DirectoryIndex
- le .htaccess est protégé
- PHP5 est activé.

Code:
#protection du fichier .htaccess
<Files .htaccess>
order allow,deny
deny from all
</Files>

# Activation de PHP5
Options +Includes
AddType x-mapp-php5 .php

Options +FollowSymLinks
DirectoryIndex index.php

RewriteEngine On

RewriteBase /

#ajout du www
RewriteCond %{HTTP_HOST} ^marie-hermance\.com$
RewriteRule (.*) http://www.marie-hermance.com/$1 [R=301]

#traitement de l'erreur 404
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /err404.php
 
WRInaute occasionnel
Essaie:

Code:
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^ndd.com$
RewriteRule ^/?$ "http\:\/\/www\.ndd\.com" [R=301,L]
 
WRInaute impliqué
Mpic a dit:
Merci vap, j'ai regardé ton siteweb :) Alors le http://marie-hermance.com ne marche pas chez toi, donc iln'y a pas de redirection :s

Ca alors, tu as raison.

Ca marchait avant...

1and1 a changé je ne sais quoi puisque le errordocument ne marche pas non plus.

Merci en tout cas.

Edit: je ne vois pas comment régler ça par .htaccess. Pour éviter les dupplicate content, tu peux toujours aller dans la console GWT (google wbmaster tools) et indiquer quel est le ndd que tu préfère, avec ou sans www.

En attendant de trouver mieux, j'ai enlevé la règle de réécriture qui ne marche plus.
 
WRInaute impliqué
Bon, en passant par du php j'y arrive.

Dans le .htaccess je met la règle suivante:

Code:
RewriteCond %{HTTP_HOST} ^marie-hermance\.com$
RewriteCond %{REQUEST_FILENAME} !redirect
RewriteRule (.*) /redirect.php [L]

La deuxième condition sert a éviter une boucle infinie.

Et dans la page redirect.php il y a :

Code:
<?php
    header('Status: 301 Moved Permanently');
    header('Location: http://www.marie-hermance.com' . $_SERVER['REQUEST_URI']);
    exit;
?>

J'aimerais quand même comprendre pourquoi un certain nombre de choses ne marchent plus comme elle devraient chez 1and1.
 
WRInaute occasionnel
Vap j'ai essayé, chez moi cela ne marche pas, j'ai même essayé de mettre ton code

Code:
<?php 
    header('Status: 301 Moved Permanently'); 
    header('Location: http://www.marie-hermance.com' . $_SERVER['REQUEST_URI']); 
    exit; 
?>

Sur mon index.php mais rien de rien
 
WRInaute impliqué
Il faut mettre le nom de ton site au lieu du mien.

Bref, partout ou il y a marie-hermance.com tu met ton ndd.
 
Discussions similaires
Haut