[RESOLU] Rewrite d'URL avec .htaccess ou autre
Bonjour à tous,
Je bloque un peu sur de la réécriture de certains de mes URL grâce à mon fichier .htaccess. Connaissant peu pour le moment PluXML, peut-être y-a-t-il interférence avec le rewrite déjà en place.
Je cherche à réécrire l'adresse: http://www.prestigeauto.fr/vehicules-occasions-la-rochelle/&m=JEEP par http://www.prestigeauto.fr/vehicules-occasions-jeep
J'ai essayé plusieurs choses déjà, mais rien ne fonctionne. Voilà ma dernière règle en date qui me renvoie un beau 404 lorsque je tente de saisir l'adresse souhaitée.
Voici d'ailleurs tout le code de mon .htaccess, car il y a peut-être des manques au-delà.
D'avance merci, si vous pouvez m'aider.
Je bloque un peu sur de la réécriture de certains de mes URL grâce à mon fichier .htaccess. Connaissant peu pour le moment PluXML, peut-être y-a-t-il interférence avec le rewrite déjà en place.
Je cherche à réécrire l'adresse: http://www.prestigeauto.fr/vehicules-occasions-la-rochelle/&m=JEEP par http://www.prestigeauto.fr/vehicules-occasions-jeep
J'ai essayé plusieurs choses déjà, mais rien ne fonctionne. Voilà ma dernière règle en date qui me renvoie un beau 404 lorsque je tente de saisir l'adresse souhaitée.
### REWRITE DE MES URL OCCASIONS
RewriteRule ^vehicules-occasions-jeep$ ^vehicules-occasions-la-rochelle/&m=JEEP [L,R=301]
Voici d'ailleurs tout le code de mon .htaccess, car il y a peut-être des manques au-delà.
SetEnv PHP_VER 5
# BEGIN -- Pluxml
Options -Multiviews
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
# Réécriture des urls
RewriteRule ^(?!feed)(.*)$ index.php?$1 [L]
RewriteRule ^feed\/(.*)$ feed.php?$1 [L]
</IfModule>
<Files "version">
Order allow,deny
Deny from all
</Files>
# END -- Pluxml
# Redirect non-www urls to www
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.prestigeauto\.fr
RewriteRule (.*) http://www.prestigeauto.fr/$1 [R=301,L]
### REWRITE DE MES URL OCCASIONS
RewriteRule ^vehicules-occasions-jeep$ ^vehicules-occasions-la-rochelle/&m=JEEP [L,R=301]
### BLOCAGE DES MAUVAIS REFERRAL
RewriteCond %{HTTP_REFERER} ^http://(www\.)?semalt\.com.*$ [OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?buttons-for-website\.com.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?make-money-online.7makemoneyonline\.com.*$ [NC]
RewriteRule .* - [F,L]
D'avance merci, si vous pouvez m'aider.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu t'es trompé dans le sens de ta RewriteRule (c'est ORIGINE -> DESTINATION). Un petit slash en début de deuxième expression pourrait aussi être nécessaire, autrement il y a des chances que je DocumentRoot précède la nouvelle URL.
Enfin, si tu mets un châpeau et un dollar dans l'expression finale, le serveur va les afficher sans les interprêter.
Je me suis peut-être mal exprimé.
J'ai tout de même testé ta proposition, mais cela ne fonctionne pas.
Actuellement, le site fonctionne avec cette adresse : http://www.prestigeauto.fr/vehicules-occasions-la-rochelle/&m=JEEP
Mon idée est de pouvoir utiliser une URL de la forme : http://www.prestigeauto.fr/vehicules-occasions-jeep
Il y a vraiment quelque chose qui bloque et je ne vois pas quoi. J'ai même testé cela :
Sans succès. Pourtant cela devrait faire le job.
Autre précision, mon .htaccess est bien à la racine du site.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Voici la règle :
Bon il me reste à investiguer sur les tris additionnels que je n'arrive pas à faire fonctionner avec cette réécriture.
En effet, j'aimerai vraiment que le lien suivant fasse le tri voulu :
http://www.prestigeauto.fr/vehicules-occasions-jeep&c=prix&o=desc
mais il ne se passe rien. J'ai testé plusieurs choses mais rien de probant pour le moment. Je tiendrai informé au cas où je trouve quelque chose.
Si tu rajoutes ces flags, la redirection est envoyé à ton navigateur, et elle sera jouée comme tu le veux.
Donc la version corrigée qui devrait mieux marcher serait :
Par contre, si je rajoute le flag R=301, je me retrouve avec l'ancienne adresse (vehicules-occasions-la-rochelle/&m=JEEP) dans le navigateur.
Je n'ai pas bien compris l'utilité de ce flag, sachant que mon idée de réécriture est double : Rendre mes URL plus "jolies" et améliorer le référencement de mes pages. Si tu peux un peu plus m'éclairer.
Du coup je ne comprends plus ce que tu veux.
Les URL http://www.prestigeauto.fr/vehicules-occasions-la-rochelle/&m=JEEP et http://www.prestigeauto.fr/vehicules-occasions-jeep fonctionnent sur le site. Soit.
Du coup essayons de mettre à plat :
1. quelle URL tu veux taper dans ton navigateur ?
2. quelle URL souhaites-tu que le serveur te retourne ?
3. quelle comportement tu obtiens actuellement ?
Je vais t'aider autant que possible.
Pour la culture, tu peux aussi lire la doc de apache sur la réécriture d'URL, c'est la référence en la matière : http://httpd.apache.org/docs/2.2/rewrite/intro.html
Effectivement, je ne dois pas être très clair dans mes explications.
A la base le site fonctionne avec des adresse du style http://www.prestigeauto.fr/vehicules-occasions-la-rochelle/&m=JEEP où m=JEEP représente une variable utilisée dans la page pour traitement et renvoyer les annonces uniquement de cette marque.
Mon souhait est de ne plus avoir cette variable de visible et de pouvoir utiliser une URL plus jolie et plus adaptée au référencement, donc : http://www.prestigeauto.fr/vehicules-occasions-jeep
Pour le moment, cela fonctionne comme je le souhaite. Mon seul souci restant pour le moment, et que le script utilise d'autres variables pour trier les annonces. On retrouve cela sur les liens de tri en haut e mes annonces avec Prix, Année, Km. Et qu'avec ces tri je n'arrive pas à passer ces autres variables en utilisant la réécriture actuelles.
Je cherche toujours un peu, même si ce n'est pas à plein temps. Je te remercie donc de ton aide.
En fait, en y réfléchissant, une autre des solutions envisageables et peut-être plus simple, est de créer des pages statiques différentes pour chaque marque que je souhaite. Cela règlera mon problème même si c'est un peu moins fonctionnel pour d'éventuels MAJ futures.
En espérant avoir été le plus clair,
Je vais rajouter [RESOLU] au titre même si la solution n'implique plus l'URL REWRITING.