Forcer l'utilisation des adresses Rewritées

WRInaute discret
Bonjour à tous,

vala, j'ai une petite question en rapport avec l'URL rewriting. J'aimerai pouvoir forcer l'utilisation des adresses rewritées, plutôt que celle des véritables adresses. J'ai cependant peur de me retrouver avec des boucles infinies.

Petit exemple :
"sujet-859.html" est en fait "sujet.php?numero=859"

Lorsqu'un utilisateur ou un moteur va sur "sujet-859.html", pas de problème, tout fonctionne bien. J'aimerai maintenant que si un utilisateur ou un moteur va sur "sujet.php?numero=859" il soit redirigé automatiquement avec une 301 sur "sujet-859.html". Ca empecherait l'utilisation des anciennes adresses et forcerait celle des rewritées.

Est ce possible ?
Merci d'avance !
Lamb.
 
WRInaute accro
oh la la... oui un peu risqué effectivement.
c'est simple : a partir du moment ou PLUS aucune page ne contient de lien vers "sujet.php?numero=859", ce lien disparaitra de lui meme sur le web (page "orpheline").. donc tu n'as qu'a passer attentivement en revue tes pages et d'ici une dance ou deux, bye bye le vilain "sujet.php" :)
 
WRInaute discret
Hu hu :)

C'est bien ce que je me disais, en effet, mais cet affreux Google bot continue de passer régulièrement sur les anciennes adresses.
Enfin, ça ne fait qu'un mois que la structure des liens a changé, il faut peut-être encore un peu de temps.

Sinon, les seuls liens non rewrités sont ceux utilisés pour poster des commentaires / discussions / etc... Bref, ce à quoi les moteurs n'auront logiquement jamais accès.

Merci pour les réponses !
 
WRInaute occasionnel
un petit
Disallow: sujet.php
dans ton robots.txt
c'est ce que j'ai fait sur mon site .
 
WRInaute discret
ca m'etonne qu'aucun webmaster n'explique posément l'astuce pour faire simplement une redirection 301 sur une adresse rewritée, c pourtant pas sorcier et ca a été exposé mais pas mis en avant dans le forum UR alors que pourtant c suffisemment fondamental que pour être expliqué partout.

++
 
WRInaute passionné
Lamb a dit:
Bonjour à tous,

vala, j'ai une petite question en rapport avec l'URL rewriting. J'aimerai pouvoir forcer l'utilisation des adresses rewritées, plutôt que celle des véritables adresses. J'ai cependant peur de me retrouver avec des boucles infinies.

Petit exemple :
"sujet-859.html" est en fait "sujet.php?numero=859"

Lorsqu'un utilisateur ou un moteur va sur "sujet-859.html", pas de problème, tout fonctionne bien. J'aimerai maintenant que si un utilisateur ou un moteur va sur "sujet.php?numero=859" il soit redirigé automatiquement avec une 301 sur "sujet-859.html". Ca empecherait l'utilisation des anciennes adresses et forcerait celle des rewritées.

Est ce possible ?
Merci d'avance !
Lamb.

Le mieux est de faire ça directement au début de la page sujet.php en testant le REQUEST_URI :

Code:
<?php
if (eregi("sujet.php",$_SERVER[REQUEST_URI]))
{
// redirection permanente vers les pages rewritées
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.tonsite.com/forum/sujet-".$_GET[numero].".html");
header("Connection: close");
exit;
}
...
 
WRInaute passionné
tu peux par exemple faire des url du type
-http://www.globly.com/search/le-mot-recherché.html

la règle de réécriture correspondante serait :
Code:
RewriteRule ^search/.*\.html$ 1/web.php?search=$1 [QSA,L]
 
Nouveau WRInaute
je n'y arrive pas

Je suis desespérement nul !
je n'y arrive pas . J'ai essayé de creer un .htaccess avec le code dedant et sur ma page pricipale j'ai voullu mettre include once le fameux ht.access mais vous imaginez la suite. :oops: :oops: :oops:
 
WRInaute passionné
le .htaccess n'est pas a inclure ! (trop fort), il est automatiquement pris en compte par le serveur chaque fois qu'une url est demandée.

Alors résumons :
sur ton site tu dois avoir à la racine le fichier .htaccess suivant :

.htaccess
Code:
RewriteEngine on
RewriteRule ^search/.*\.html$ 1/web.php?search=$1 [QSA,L]

dès que tu as ça, tape dans ton navigateur l'adresse suivante :
http://www.globly.com/search/le-mot-recherche.html

Ca marche ??
 
Nouveau WRInaute
je l'ai placé dans un fichier _vti_cnf
pas plus. je sais que ça peut parraitre étrange mais je n'ai jamais installé de ht.access Je passe toujours par d'autres systèmes
 
Nouveau WRInaute
TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,78,206,140,209,36)
STOR /.htaccess
550 /.htaccess: Permission denied
/.htaccess: Permission denied
Échec [/.htaccess: Permission denied]
 
Nouveau WRInaute
Mon hebergeur avait mis un .htaccess qui configurait la page 404 qui a donc disparue dans le fichier hpbimg.
Avec mon logiciel ftp je vois donc deux fichiers www
et hpbimg qui contient le .htaccess
 
Nouveau WRInaute
L'URL Rewriting, le fichier .htaccess et l'optimisation des sites dynamiques
expliqués en 40 pages par l'éditeur de Web Rank Info : lisez le livre Google, trucs de pros !

Je vois ce qui me reste à faire ! :oops:
 
Nouveau WRInaute
J'ai pu constater auprès de mon hebergeur que ça ne fonctionne pas chez eux comme chez lycos
Merci en tout cas jeroen pour votre précieuse aide de ce soir !
 
WRInaute passionné
Pierre17 a dit:
J'ai pu constater auprès de mon hebergeur que ça ne fonctionne pas chez eux comme chez lycos
Merci en tout cas jeroen pour votre précieuse aide de ce soir !

Mais je ne comprends plus grand chose. C'est qui votre hébergeur ?

c'est quoi ça ?

TYPE I
200 Type set to I
PASV
227 Entering Passive Mode (212,78,206,140,209,36)
STOR /.htaccess
550 /.htaccess: Permission denied
/.htaccess: Permission denied
Échec [/.htaccess: Permission denied]
 
Nouveau WRInaute
dans un autre forum ils parlent de ce problème mais je n(avais pas percuté je pensait è multimania genre site gratuit mais j'ai bel et bien un pack perso lycos
 
Nouveau WRInaute
ça peut marcher ou pas ? (ou la question qui va faire de moi la honte du forum = comment mettre un htaccess à la racine ?)
J(ai bien compris le principe de la racine mais je ne peut pas aller plus loin

-serveur (inaccessible)

puis www ou j'ai tous mes fichiers et repertoires
et le fameux hpbimg qui contient le htaccess de page 404
 
WRInaute impliqué
arf

Pierre17 a dit:
Le .htaccess a été mis en place dans le fichier www mais je tombe sur une page erreur 404.

Et pour le transferer, tu as fait comment?
Le truc c'est de faire un fichier.txt, d'y mettre le code qu'on t'as donné, de le mettre dans le dossier www de ton ftp et de le renomer en .htaccess sur le ftp.

Mais verifie d'abord que lycos accepte le mod rewrite, car si non, c'est tout bonnement pas possible....

++
 
WRInaute passionné
Re: arf

dcz a dit:
Pierre17 a dit:
Le .htaccess a été mis en place dans le fichier www mais je tombe sur une page erreur 404.

Et pour le transferer, tu as fait comment?
Le truc c'est de faire un fichier.txt, d'y mettre le code qu'on t'as donné, de le mettre dans le dossier www de ton ftp et de le renomer en .htaccess sur le ftp.

Mais verifie d'abord que lycos accepte le mod rewrite, car si non, c'est tout bonnement pas possible....

++

perso j'utilise l'éditeur Arachnophilia qui me permet directement de nommer des fichiers .htaccess
 
WRInaute passionné
Re: arf

dcz a dit:
Pierre17 a dit:
Le .htaccess a été mis en place dans le fichier www mais je tombe sur une page erreur 404.

Et pour le transferer, tu as fait comment?
Le truc c'est de faire un fichier.txt, d'y mettre le code qu'on t'as donné, de le mettre dans le dossier www de ton ftp et de le renomer en .htaccess sur le ftp.

Mais verifie d'abord que lycos accepte le mod rewrite, car si non, c'est tout bonnement pas possible....

++

perso j'utilise l'éditeur Arachnophilia qui me permet directement de nommer des fichiers .htaccess

https://www.webrankinfo.com/forum/t/liste-des-hebergeurs-acceptant-lurl-rewriting.1763/
 
WRInaute impliqué
bah

bah yep, y'a plein de moyen de gerer des fichier avec des "." devant sur windows, mais question transfert ftp, cela peut quand même poser des problèmes, j'indiquais juste la méthode sûre, histoire que vous vous preniez pas la tête 1000 ans sur une erreur de transfert...

++
 
Nouveau WRInaute
Après un coups de fil à 34 cts d'euros la minute sur Lycos je vous annonce une bonne nouvelle : Lycos accepte pour les packs non gratuits les adresses rewritées donc je devrais y arriver aujourd'hui !
 
Nouveau WRInaute
Voici ce qu'ils m'envoyent :
Monsieur,

Merci d'avoir contacté le support Lycos Hébergement.

Cette option est disponible voici quelques exemples:

1) Mot de passe:

AuthUserFile /data/members/paid/m/y/votredomaine.com/htdocs/www/.htpasswd
AuthName "Entrez votre identifiant et mot de passe"
AuthType Basic

require user IDENTIFIANT



3) Erreur 404:

ErrorDocument 404 /my404.php

4) Redirection:

RewriteEngine On
RewriteRule ^$ http://www.domaine.com/index.html

5) Redirection de tous les .html vers une page:

RewriteEngine On
RewriteRule ^(.*)\.html$ http://www.domaine.com/index.html

6) Redirection des images et films vers

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com(/)?.*$ [NC]
RewriteRule .*\.(gif|png|jpg|jpeg|pdf|doc|wav|bmp|avi|mpg|mpeg|mp3|zip|rar)$ http://www.domain.com/domain.png [R,NC,L]

:oops:
[/quote]
 
WRInaute passionné
en allant sur la page http://www.globly.com/search/le-mot-recherche.html il va bien chercher la page web.php, donc le rewrite se fait bien, mais il y a encore un pb dans la deuxième partie de la regle puisque elle ne point pas sur le bon fichier.

Le problèma avec le code qu'il te donnent (avec http://...) c'est que ça va générer des 301...

essaie plutot
Code:
RewriteEngine on
RewriteRule ^search/.*\.html$ /1/web.php?search=$1 [QSA,L]
 
WRInaute passionné
Pierre17 a dit:
Le mot en recherche n'est pas pris en compte par le moteur.
So sorry, rreur de code....:evil:

voilà la solution et là ça marche :
Code:
RewriteEngine on
RewriteRule ^search/(.*)\.html$ /1/web.php?search=$1 [QSA,L]
:wink:
 
Discussions similaires
Haut