Bonjour toutes et tous, Je suis totalement débutant en url rewriting. j'ai pas le temps de potasser les tutos, j'ai une urgence à mettre en ligne... mes urls sont index.php, index.php?page=1, index.php?page=2 etc. Pouvez-vous me donner une eègle htaccess pour obtenir index.html, page1.html ........ Je ne sais pas si c'est possible avec index tout court J'ai essayé çà => marche pas. Apache est OK Merci du coup de main
Bonjour La règle de réécriture semble bonne; quand tu dis "marche pas", c'est à dire ? Tu as une erreur 500 ? Avec cette règle en place, que se passe-t-il lorsque tu appelles directement page1.html ?
ben non j'ai pas d'erreur. ça ne change rien ! Mes urls restent le mêmes et appellent mes pages. Page1.html ouvre index.php page2.html idem page X ... etc
Je viens de compléter la réponse. Renvoi d'erreur ???? sais pas ! page xxx . html ouvre index.php quel que soit le chiffre !
RESOLU j'ai trouvé un générateur ;-) marche avec des URLS du genre index-page-1.html Tous chiffres appellent les bonnes pages Merci ! Je vais avoir le temps de potasser maintenant !
une petite dernière pour la route ! Mon hébergeur passe des règles différentes : il faut mettre l'url complète http://..... dans la deuxième partie mais ça fonctionne. par contre j'ai toujours mes anciennes URL dans la barre d'adresse index.php?page=2 plus ça va moins je comprends !
Bonjour, Si tu as index.php?page=1 et que tu veux page1.html C'est ce code qu'il faut : Code: RewriteRule page([0-9]+)\.html$ index.php?page=$1 Rod
La réécriture d'URL ne provoque pas de redirection; si tu appelles index.php?page=2, si tu n'as pas prévu de mécanisme de redirection 301, ton URL ne changera pas. Par contre, si en appelant page-2.html tu es redirigé vers index.php?page=2, c'est qu'il y a un problème quelquepart.
Vous êtes sympa. Oui javais corrigé pour avoir page1.html ça marche au poil en local, c'est chez l'hébergeur que les urls s'affichent comme avant. (PHPNET.ORG) 301 ? logique effectivement. Je fais comment ? Je suis vraiment nul ! C'est le cas ! !
Pour ton problème, je sèche, a voir avec ton hébergeur pourquoi ta règle de réécriture te fait une redirection ... pour les redirections 301, mieux vaut que tu le fasses en PHP : - check de l'URL appelée - si l'URL appelée n'est pas l'URL souhaitée, redirection 301 vers l'URL souhaitée via la fonction php header();
merci Je vais voir l'hébergeur. 301 en PHP je vais y arriver, je maitrise mieux. m'enfin si ça marche en local, c'est bizarre
Bonjour, Il ne suffit pas de mettre un / au lieu du http complet (chez 1&1, c'est ce qu'il faut faire) ? Et il manque l'indication d'une redirection 301. Chez 1&1, si tu as 2 sites A et B et que A redirige de façon permanente vers B, selon le paramétrage de ta redirection, la barre d'url affichera l'url saisie ou celle de destination. Donc, ça pourrait donner ça : Code: Options +FollowSymlinks -MultiViews RewriteEngine On RewriteBase / RewriteRule ^page([0-9]+)\.html$ /index.php?page=$1 [QSA,L,R=301]
Pour les 301, soit tu utilise les RedirectPermanent, soit si tu doit d'avoir réécrire, tu ajoute les tag qui vont bien [R=301] On peut aussi le faire direct en php sur la page d'arrivée. Pour ton soucis de redirection vers l'url avec critère, oui, c’est pas normal. Tu réécris, ça veut dire quoi : Le navigateur demande la page page1.html au serveur. Lui, avant de l'envoyer, il interprète le htaccess qui lui dit cette page, tu la connais sous le nom index.php?page=1 Il l'affiche, mais l'url ne change pas dans le nav. Rod