ALL SYSTEMS OPERATIONALUPTIME 99.97%FLEET 18/18IN-MUM · US-LAX · EU-FSN EST. 2003 · +91 11 4998 4038

SAVOIRS · HTACCESS

Comment configurer les URLs de recherche-moteur amical?

Dernière mise à jour le 2019-02-03

Voici une façon d'avoir une URL conviviale pour moteur de recherche comme http://www.example.com/blog/2007/jan dans le navigateur, être transformé côté serveur en http://www.example.com/blog/index.php?year=2007&month=jan sans changer ce qui est vu dans la barre d'adresse du navigateur.

Ceci peut être effectué en utilisant la directive mod rewrite dans votre fichier .htaccess. Pour effectuer cela, votre fichier .htaccess doit avoir les lignes suivantes à l'intérieur avec une directive par ligne:

RéécrireEngine
RewriteRule ^blog/([0-9]+)/([a-z]+)$ /blog/index.php?year=$1&month=$2 [nc]


EXPLANATION:

RéécrireEngine
La première ligne s'assurera que votre moteur de réécriture est allumé.

RewriteRule ^blog/([0-9]+)/([a-z]+)$ /blog/index.php?year=$1&month=$2 [nc]
La deuxième ligne est expliquée comme suit:
^blog/ - s'assure qu'il regardera le début de la chaîne en commençant par blog

([0-9]+) - recherche une série de nombres de 0-9. Le + à la fin assure qu'il correspondra à des nombres répétés une ou plusieurs fois, c'est-à-dire le cas de 2007.

([a-z]+)$ - recherche une entrée en lettres minuscules. Le + à la fin assure qu'il correspondra à des lettres répétées une ou plusieurs fois, c'est-à-dire le cas de l'arbre. Dans cet exemple, le cas n'aura pas d'importance en raison de ce que nous avons ajouté à la fin de la règle. Le signe dollar à la fin dit simplement à la directive de chercher la fin de la ligne.

/blog/index.php?year=1$&month=2$ - c'est ce que le site Web va traduire en où 1$ est la première entrée reçue, dans ce cas 2007 et 2$ est la deuxième entrée reçue, dans ce cas jan.

[nc] - This stands for "no case" or "non-case sensitive." By having this at the end of the rule, it does not matter what case the input is in. For example, http://www.example.com/blog/2007/JaN réagira comme http://www.example.com/blog/2007/jan.

Cela peut être facilement étendu pour inclure de nombreux types d'entrées en termes plus généraux ou spécifiques en utilisant des expressions régulières (regex/regexp). Pour plus d'informations sur le régex et sur la façon de l'utiliser, veuillez consulter le site suivant:
http://www.regular-expressions.info/tutorial.html

De plus, des informations plus complètes sur la directive mod rewrite peuvent être trouvées à l'adresse suivante:
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

← Tous les articles de la base de connaissances

Dites-nous ce qui doit rester debout.

A short conversation with an engineer. No quote-bot, no callback queue. We'll tell you honestly if we're not the right fit.