wintr Posté 24 Février 2019 Posté 24 Février 2019 Bonjour, Je viens de changer de serveur et j'ai déjà configuré les accès aux nouveaux répertoires où sont stockées les pages web et autres fichiers. Ne connaissant pas bien les diverses possibilités de htaccess, je souhaite savoir comment faire pour que les moteurs mettent à jour les référencements et ce qui va avec. Par exemple, j'avais deux sites accessibles depuis le même domaine: - Site 1: www.site1.com - Site 2: www.site1.com/site2 Maintenant, je veux faire plus transparent avec deux domaines séparés: www.site1.com et www.site2.com En plus des référencements dans les moteurs de recherche, il y a les liens sur les pages web et forums qui vont évidemment rester. Comme ces liens pointent vers www.site1.com/site2, j'ai conservé l'ancien répertoire www.site1.com/site2 dans lequel il y a les anciennes pages web, mais et ne contenant plus qu'un simple texte comme "Veuillez mettre à jour les signets" avec la nouvelle adresse www.site2.com à cliquer. Ainsi, la page www.site1.com/site2/unepage.htm dira d'aller sur www.site2.com/unepage.htm . Je ne fais pas de redirection automatique après un délai afin qu'ils puissent prendre le temps de faire le nécessaire. Je précise que que j'ai déjà changé de serveur et fait pointer les deux domaines vers le répertoires appropriés. Je souhaite savoir quel code mettre dans htaccess pour que les moteurs mettent à jour les référencements de www.site1.com/site2 vers www.site2.com Qu'en pensez-vous ? Merci par avance de vos lumières.
Dan Posté 24 Février 2019 Posté 24 Février 2019 il y a 38 minutes, wintr a dit : j'ai conservé l'ancien répertoire www.site1.com/site2 dans lequel il y a les anciennes pages web, mais et ne contenant plus qu'un simple texte comme "Veuillez mettre à jour les signets" avec la nouvelle adresse www.site2.com à cliquer Si tu conserves ce répertoire, tu ne pourras pas mettre en place une redirection 301 permettant aux moteurs de mettre leurs bases à jour avec les nouvelles URLs. Je te suggère ces deux articles, pour y voir plus clair : https://www.webmaster-hub.com/publications/le-fichier-htaccess/ https://www.webmaster-hub.com/publications/mod_rewrite-ou-la-reecriture-des-url-a-la-volee/
wintr Posté 24 Février 2019 Auteur Posté 24 Février 2019 (modifié) Merci ! Je suppose que pour rediriger ceux qui cliquent sur un lien pointant sur l'ancien site, on utilise une redirection commune 404 vers une unique page qui dit qu'on a bougé sur www.site2.com ? Dans ce cas je présume que le htaccess se situe à la racine (le répertoire site2 n'existant plus dans site1 pour la raison que vous évoquez). J'utilise un serveur mutualisé dont la racine est /www Le domaine www.site1.com pointe sur /www/site1 Le domaine www.site2.com pointe sur /www/site2 On peut mettre des fichiers sur la racine / mais le côté visible est /www . Je pense donc à ces deux lignes: ErrorDocument 404 /site2/URLwarning.htm (ou /www/site2/URLwarning.htm ?) RedirectPermanent /site1/site2 http://www.site2.com/ (ou /www/site1/site2 http://www.site2.com/ ?) Modifié 24 Février 2019 par wintr
Dan Posté 24 Février 2019 Posté 24 Février 2019 Si la structure de tes pages reste la même entre l'ancien et le nouveau site2, il suffit simplement de mettre ceci dans de fichier .htaccess de l'ancien répertoire site2 RedirectPermanent / http://www.site2.tld/ Ou bien RewriteEngine On RewriteRule /?(.*) http://www.site2.tld/$1 [R=301, QSA, L]
wintr Posté 25 Février 2019 Auteur Posté 25 Février 2019 Effectivement les pages restent les mêmes. Y a-t-il un avantage / inconvénient à utiliser RedirectPermanent ou Rewrite ? Afin de gérer les 404 pour ceux qui cliqueront sur les liens pointant sur l'ancien site dont les pages html n'existeront plus dans l'ancien répertoire, j'ajouterai cette ligne: ErrorDocument 404 http://www.site2.com/URLwarning.htm Encore merci pour votre aide.
Dan Posté 25 Février 2019 Posté 25 Février 2019 Personnellement je préfère utiliser le RewriteRule, parce qu'il est plus souple à l'usage que le RedirectPermanent et on peut peaufiner les règles, ajouter des conditions, gérer des exceptions avec une ligne "RewriteCond" ..
wintr Posté 27 Février 2019 Auteur Posté 27 Février 2019 J'ai une erreur 500. Les pages sont inchangées: au lieu de se trouver dans http://www.site1.com/site2 elles sont sur http://www.site2.com En conséquent, la page http://www.site1.com/site2/maPage.htm doit devenir http://www.site2.com/maPage.htm J'ai trouvé un simulateur htaccess pour tester des modifs sur la syntaxe mais j'ai toujours une erreur "This rule was not met".
Dan Posté 27 Février 2019 Posté 27 Février 2019 Avec le contenu de ton fichier .htaccess, on verrait plus clair Il est bien sauvegardé au format texte... pas un format word ou autre ? Et avec tes noms de domaines au lieu de site1 et site2 , ce serait plus évident aussi !
wintr Posté 27 Février 2019 Auteur Posté 27 Février 2019 (modifié) Le fichier est bien au format texte, il contient ton code (reproduit plus bas) avec le nom du site adapté. Je précise que je suis un ancien ingé dev (j'ai arrêté en 2002), et que j'ai grandi entre le Basic, l'assembleur et l'électronique (je prenais déjà des cours de programmation en primaire et débutais l'assembleur au lycée). J'ai même touché au mode protégé et au micro-code durant ma dernière année d'études. Pour faire joujou, je me suis amusé l'été dernier à reloger un interpréteur Basic M6800 (1976) prévu pour chargement et exécution en RAM afin de marcher en ROM. Le bougre contient en plus des instructions auto-modifiables: sympa pour la ROM !!! Bref ! Le fichier .htaccess est précisément ce qui est indiqué plus haut mais avec l'URL adaptée. Le fait de dire site1 et site2 n'a pas vocation à cacher quoi que ce soit: c'est surtout parce que j'ai 3 ou 4 autres répertoires similaires qui pourraient tôt ou tard migrer de la même façon vers une URL plus spécifique. Je parlais donc de façon générale, un peu comme les éternels foo / bar (ah, le bon vieux temps du C sous X11/R6...). Un exemple: http://www.pong-story.com/chip8 pointe vers un émulateur que j'ai créé il y a plus de 20 ans sous DOS. Si je voulais le migrer vers www.chip-8.com, je mettrai le .htaccess si-dessous dans le répertoire /chip8 sur le serveur de pong-story: RewriteEngine On RewriteRule /?(.*) http://www.chip-8.tld/$1 [R=301, QSA, L] Pour le moment je veux surtout appliquer ça sur le site de ma boutique paléophonies, à avoir passer de http://www.pong-story.com/paleophonies/maPage.htm vers http://www.paleophonies.com/maPage.htm Les fichiers de pong-story sont localisés côté serveur sur /www/pong-story Ceux de paleophonies sur /www/paléophonies /www est la racine de ce qui est "visible" et donc "alias-able". En tout cas j'ai essayé la copie exacte des deux lignes ci-dessus donne l'erreur 500 et ne passe pas au simulateur. J'ai tenté de remplacer .tld par .com, même erreur. Un moment je pensais que /?(.*) pointait vers la racine du site donc j'ai essayé /paleophonies/?(.*) mais là aussi, le simulateur produit une erreur. Je n'ai pas tout essayé en vrai: je souhaitais tenter les modifs les unes après les autres pour voir l'URL générée afin de savoir quand c'était bon. Voilà. Je cherche toujours à comprendre, étant tout à fait néophyte en matière de "vrai" développement web. Modifié 27 Février 2019 par wintr
Dan Posté 28 Février 2019 Posté 28 Février 2019 Au temps pour moi ! Il y a des espaces en trop dans les flags ! Il faut mettre [R=301,QSA,L] au lieu de [R=301, QSA, L] Ce sont ces espaces qui causent l'erreur 500.... c'est vraiment trop bête ! Désolé ! C'est ce qui peut arriver lorsqu'on formate un texte pour le rendre plus lisible
wintr Posté 28 Février 2019 Auteur Posté 28 Février 2019 Pas de souci Fallait aussi mettre com à la place de tld. Maintenant, ça marche, mais cela ne permet plus d'avertir l'utilisateur qu'il doit mettre ses signets à jour. Niveau moteurs de recherche, pas de souci. La seule chose qui m'inquiète, ce sont les références sur divers forums et pages web qui eux, ne vont pas changer et conserver l'ancienne URL (d'où mon idée de mettre un avertissement dans les pages html de l'ancien répertoire). Y'a une façon d'afficher un avertissement avant de rediriger ? En tout cas merci !
Dan Posté 28 Février 2019 Posté 28 Février 2019 Et oui, TLD est l’abréviation de Top Level Domain ... c'est à remplacer comme tu devais remplacer site1 ou site2 Les forums et pages web ne changeront de toute manière pas leurs liens de manière automatique. Il faudra que tu les contactes... Donc à ta place, je ne me casserais pas trop la tête pour ça car cette page intermédiaire ne servirait à rien. L'important est de laisser cette règle en place, comme ça tes visiteurs seront redirigés sur le nouveau domaine. Et s'ils veulent mettre l'URL en favori, ce sera la nouvelle. De plus, les moteurs de recherche changeront leur base de données du fait de la redirection 301 ... donc la vie est belle, non ?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant