Comment masquer le.extension de fichier php avec le module de réécriture d’URL IIS

URL sans extension dans IIS

Il est parfois important de supprimer – ou de masquer – l’extension de fichier des scripts que vous utilisez. La sécurité par l’obscurité peut être cette raison, si vous ne voulez pas que les autres sachent quel langage de script vous utilisez pour votre site Web ou pour les hôtes de site statiques. Cet exemple masquera l’extension .php à l’aide du module de réécriture d’URL IIS, dans un web prêt à l’emploi.configuration &.exemple htaccess.

Pourquoi la nécessité de masquer les extensions de fichiers dans les URL?

Je ne suis pas fan de la sécurité par obscurité, et je n’ai jamais rencontré cela comme résultat d’une analyse de sécurité.

La sécurité par l’obscurité est une raison pour cacher l’extension de fichier dans les URL, si vous ne voulez pas que les autres sachent quel langage de script vous utilisez pour votre site Web. L’optimisation des moteurs de recherche (SEO) est une autre raison valable, ou peut-être voulez-vous simplement masquer l’extension de fichier sans raison apparente.

Il n’y a pas non plus d’avantage pour le référencement, pour autant que je sache.

Vous pouvez cependant utiliser cette technique pour raccourcir un peu les URL. Il supprime quatre à cinq caractères de l’URL (« .php « , ».HTML », « .aspx « ). Et certains disent qu’un site Web fonctionne plus rapidement car un serveur Web peut faire correspondre les URL sans extensions aux dossiers (répertoires) plus rapidement que les URL avec une extension à un fichier.

Certains disent. Je n’ai pas de données ou d’informations supplémentaires à ce sujet.

Masquer.extension php avec module de réécriture d’URL sur IIS

Voici un exemple de module de réécriture d’URL IIS à masquer.extension php dans les URL.

Cette technique est également appelée Multiviews ou Négociation de contenu dans Apache, et d’autres l’appellent URL sans extension. Voir ci-dessous un exemple à utiliser avec.htaccess dans IIS.

À propos des MultiViews ou de la négociation de contenu:

L’effet des MultiViews est le suivant : si le serveur reçoit une requête pour /some/dir/foo, si /some/dir a des MultiViews activées et que /some/dir/foo n’existe pas, alors le serveur lit le répertoire à la recherche de fichiers nommés foo.*, et simule efficacement une carte de types qui nomme tous ces fichiers, en leur attribuant les mêmes types de médias et les mêmes encodages de contenu que si le client en avait demandé un par son nom. Il choisit ensuite la meilleure correspondance avec les exigences du client.

Mettez la réécriture suivante dans un fichier web.config pour masquer le.extension php dans vos URL. Eh bien, l’exemple ne se cache pas vraiment.php à partir de l’URL, mais cela vous permet d’utiliser des URL sans extension comme www.example.com/index.

Le module de réécriture d’URL d’IIS ajoute la partie .php à l’URL en arrière-plan.

Code language: HTML, XML (xml)

Masquer l’extension pour les requêtes contenant déjà un .extension php

Un exemple plus étendu consiste à rediriger toutes les requêtes avec.php dans l’URL de leur variante sans extension. Ainsi, lorsqu’un visiteur entre par /index.php, l’extension est dépouillée et il sera dirigé vers /index.

Notre règle de réécriture mappe cette demande finale vers l’index.php sans afficher l’extension.

Code language: HTML, XML (xml)

Testez toujours de tels exemples avant de les mettre en production.

Émuler Apache Multiviews dans IIS à l’aide de a.fichier htaccess et Helicon Ape

Si vous utilisez.htaccess dans IIS, vous pouvez créer le même effet Multiviews pour masquer le.extension php. Pour cela, vous devez déclarer quelques conditions de réécriture et des règles de réécriture (RewriteCond et RewriteRule). La partie intéressante est que cela devrait également fonctionner avec Linux, Apache et mod_rewrite, ce qui rend cette solution multiplateforme!

Multiviews.exemple htaccess
Dans votre fichier .htaccess, ajoutez la configuration de réécriture suivante:

Code language: Apache (apache)

.explication des règles htaccess :
Le premier bloc de code utilise deux vérifications RewriteCond pour vérifier si l’URL est ou non un fichier ou un dossier. C’est plus complet, clair et plus rapide que de créer une exception pour chaque type de fichier possible. Le RewriteRule réécrit l’URL – qui ne contient généralement pas d’extension de fichier – dans un fichier PHP portant ce nom.

Le motif ^(+)(?:/(.+))?$ est expliqué comme suit:

  1. Les caractères englobants ^ et $ marquent le début et la fin de la chaîne ; ce qui empêche parfois la règle de ne faire correspondre qu’une partie de l’URL
  2. Le groupe (+) correspond au nom du fichier PHP comme . Et il trouve tous les caractères jusqu’à une barre oblique, ou la fin de la chaîne
  3. Le bloc (?:/(+).)? essaie de trouver une barre oblique, suivie d’autres caractères, et l’enregistre sous

Le remplacement .php?(?2p=) utilise une référence conditionnelle:

  • La chaîne de requête est remplie avec p= si existe.

Enfin, une règle est ajoutée qui masque le.extension php.

Cela empêche un moteur de recherche de trouver du contenu en double, et évite ainsi une pénalité pour la position de votre site dans les résultats de recherche.

Il y a aussi d’autres moyens.

Supprimer.extension php avec .htaccess à partir des URL

Pour supprimer le .extension php à partir d’une URL avec .htaccess, vous pouvez enregistrer ce qui suit dans un nouveau.fichier htaccess:

Code language: Apache (apache)
Code language: Apache (apache)

Ou utilisez des MultiViews:

Code language: Apache (apache)

Cela supprime l’extension rendant les URL plus utilisatrices et – certains disent – conviviales pour les moteurs de recherche SEO. Utilisez ce qui vous convient le mieux et ajoutez une balise méta canonique dans votre tête HTML pour éviter les doublons de contenu (le cas échéant).

Bonjour, je m’appelle Jan. Je ne suis pas un hacker, un codeur, un développeur ou un gourou. Je suis simplement un administrateur système, faisant mon quotidien chez Vevida (faisant partie de Yourhosting) / CLDIN.

Si vous voulez une expérience de site Web plus sans publicité et sans suivi, veuillez m’envoyer un petit don (backme.org ) ou Paypal.

Partager, c’est prendre soin

Write a Comment

Votre adresse e-mail ne sera pas publiée.