htaccess et optimisation de ré-écriture d'url

Nouveau WRInaute
Bonjour,

je désire effectuer une ré-écriture d'url.

https://monsite.fr/event/1-nom-de-evenement qui redirige vers https://monsite.fr/event.php?id=1&title=nom-de-evenement

pour cela j'écris :
RewriteRule ^event/([0-9]+)-(.*)$ /event.php?&id=$1&title=$2 [L]


Au lancement de l'url: https://monsite.fr/event/1/nom-de-evenement
la redirection s'effectue, mais j'ai également toutes les ressources de cette page (css, js..) avec une destination incorrecte. Ex: https://monsite.fr/event/template/template.css au lieux de https://monsite.fr/template/template.css

De ce fait, pour rediriger toutes les ressources, j'ai du écrire:
RewriteCond %{REQUEST_URI} /event/ [NC] // si on l'url commence par event/
RewriteRule "^event/(.*)$" "/$1" [L,PT] // alors redirige vers l'url sans /event/



L'ensemble est fonctionnel

Il y a t'il une autre technique plus optimisé ? (utilisation d'autre flag?)
 
WRInaute accro
Pourquoi passer d'une URL friendly à une URL par variables ? Et pour répondre à ta question, c'est le problème des URL relatives quand ce n'est plus dans le bon répertoire, cela coince.
 
Nouveau WRInaute
Bonjour,

La question initiale est : Il y a t'il une autre technique plus optimisé ? (utilisation d'autre flag?)

"Pourquoi passer d'une URL friendly à une URL par variables ?" => Pour le SEO. De plus, elle est plus lisible

" Et pour répondre à ta question, c'est le problème des URL relatives quand ce n'est plus dans le bon répertoire, cela coince." En effet, c'est pourquoi, j'ai créer la 2nd règle.
 
WRInaute accro
"Pourquoi passer d'une URL friendly à une URL par variables ?" => Pour le SEO. De plus, elle est plus lisible
Euh... explique l'impact sur le SEO parce que je ne vois pas

Pour la lisibilité, on doit pas avoir la même notion...
event/1-nom-evenement est plus court, plus clair et plus "lisible" pour l'internaute que event.php?id=1&title=nom-de-evenement

Et accessoirement tu "perds" le répertoire virtuels event... que tu pourrais réécrire aussi en "evenement"
 
Nouveau WRInaute
Bonjour,

Ca ne répond pas à ma question initiale.
Doit-je comprendre qu'il n'y a pas d'autre solution, d'effectuer une ré écriture pour les ressources

Pour répondre a votre question Marie-aude, pour moi:
- Afficher l'url dans un navigateur: https://host/evenement/1-feux-artifice-nord
est plus propre et lisible que https://host/event.php?id=1

- Le fait d'avoir une ré écriture d'url, permet d'ajouter des mots clés dans l'url. (De ce fait, on optimise son référencement naturel).

si ce n'est pas le cas, je suis a l'écoute de vos remarque.


Cordialement
Thierry
 
WRInaute accro
Je crois que tout le monde a compris à l'inverse, que tu voulais afficher l'url avec les paramètres et pas l'url réécrite.
Pour les mots clés dans l'url, ça ne compte quasiment pas, disons que ça joue pour les liens qui sont faits sans autre ancre que l'url, mais c'est plus propre.

Le plus simple est de mettre les ressources en url absolue : /template/css dans la page, mais tu dois aussi t'assurer que les urls contenues dans les ressources (par exemple les images de fond dans les css) sont aussi en absolue.
 
Nouveau WRInaute
ha, je comprend mieux vos réponses :)

Passer par des url absolue "https://host/template/css/toto.css" serait en effet une solution.
Généralement les URL absolues sont utilisées pour des liens externes. Pour des liens, maillage en interne, est-ce une bonne pratique ?

Merci pour vos retours.


Edit du message: j'ai demandé à copilote : "que penses tu de l'utilisation des URL absolus pour effectuer un maillage interne sur un site web"

L'IA a répondu :

Avantages :
Cohérence : Les URL absolues garantissent que les liens fonctionnent correctement, même si le contenu est déplacé vers un autre domaine ou sous-domaine
Clarté : Elles fournissent une adresse complète, ce qui peut être utile pour les utilisateurs et les moteurs de recherche pour comprendre la structure du site

Inconvénients :
Maintenance : Si le domaine change, toutes les URL absolues doivent être mises à jour, ce qui peut être fastidieux

Temps de chargement : Les URL absolues peuvent légèrement augmenter le temps de chargement des pages par rapport aux URL relatives


La cause du léger ralentissement : la résolution DNS.
>> Ces différences sont souvent minimes, mais elles peuvent s’accumuler, surtout sur des sites avec beaucoup de liens internes.
 
Dernière édition:
WRInaute impliqué
Passer par des url absolue "https://host/template/css/toto.css" serait en effet une solution.
Il faut utiliser des URL absolues, mais où le domaine est implicite (pour éviter tout soucis en cas de modification de protocole ou de changement de NDD ou encore de basculement entre environnement de dev et de prod). Pour le dire clairement, ici, ce serait /template/css/toto.css.

Pas de différence sur le temps de chargement.

Aucune incidence SEO.
 
Nouveau WRInaute
Il faut utiliser des URL absolues, mais où le domaine est implicite (pour éviter tout soucis en cas de modification de protocole ou de changement de NDD ou encore de basculement entre environnement de dev et de prod). Pour le dire clairement, ici, ce serait /template/css/toto.css.

Pas de différence sur le temps de chargement.

Aucune incidence SEO.
Merci emualliug je viens de comprendre mes erreurs.

Lors de l'appel de ressources, je notais ./template/css/toto.cs de ce fait, avec la règle de ré écriture d'url, si je tape dans le navigateur https://monsite.fr/event/1-nom-de-evenement le site allait chercher la ressource sur https://monsite.fr/event/template/css/toto.cs


Merci pour votre aide.
 
Discussions similaires
Haut