Page web sans extension

Bonjour,
Je connais certains site où quand je vais sur la page au lieu que l'url soit monsite.com/page.php, l'url est monsite.com/page/ ya meme pas dextension , comment on fait ça ?
Configuration: Windows XP Internet Explorer 7.0

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonsoir à vous,
    Il existe plusieurs façon de faire ça, mais la plus courante est très simple.
    Dans le fichier de configuration du serveur web, il faut définir le DirectoryIndex avec au minimum :
    DirectoryIndex index.html index.htm index.php

    De cette façon, lorsque on entre le chemin d'un dossier -par exemple www.coucou.org/test/ - il utilise le fichier index contenu dans ce dossier, ce qui équivaut à www.coucou.org/test/index.html (ou php ...)

    Tout simplement =)
    1. Ou est ce qu'on peut accéder à ce directoryIndex ?
      1. Le "DirectoryIndex" est l'une des lignes du fichier de configuration.
        La localisation de ce fichier dépend du système d'exploitation du serveur... sous GNU/Linux c'est généralement dans
        /etc/apache2/apache2.conf
        /etc/httpd/httpd.conf
        (tout dépend de la distribution, du serveur utilisé, voire de la version).
    2. J'ai un hebergeur gratuit !
      Est-ce que ca a un rapport avec le fichier httaccess ?
      1. Non, aucun rapport. Le fichier htaccess permet de contrôler les personnes qui peuvent accéder à un dossier (et son contenu) en le protégeant par mot de passe.
        Mais essayez de créer un dossier avec un fichier index.php ou index.html dedans, et entrez dans la barre d'adresse du navigateur le chemin pour accéder à ce dossier. Par exemple www.monsite.com/tests/pages/page_sans_extension/
        Cela devrait fonctionner, tenez-moi au courant...
    3. Malgré la vieilleisse du topic, je me permet de faire un petit up pour poser une autre question sur le même sujet.

      Comment ce fait-il que les pages de commentcamarche.net n'ont pas d'extension bien que ces pages ne soient pas des dossier.

      Ex : https://forums.commentcamarche.net/forum/affich-12769209-page-web-sans-extension

      Qu'utilise CCM pour faire ce genre de chose ?
      1. Ca dépend un peu du système qui gère le contenu du site. Moi je fais les miens en typo3 et, basiquement, le CMS publie les articles de la sorte:

        1. Je crée ma page. C'est du php et donc l'adresse de n'importe quelle page est http://www.monsite.com/index.php?id=XXX ou XXX est la référence de mon article. L'article en question a pour titre "Mon Article"
        2. le CMS va ensuite lire le contenu de la DB et créer un "faux lien" selon les règles que j'ai configurées sur le serveur - dans mon cas via un fichier .htaccess. Ce "faux lien" va indiquer au DNS du serveur qu'une requête envoyée à http://www.monsite.com/mon-article doit en fait être considérée comme http://www.monsite.com/index.php?id=XXX
        3. contrairement à ce que K_Bahamut indique, il y a donc un lien avec les fichiers .htaccess, puisqu'il y a moyen de modifier la configuration d'un serveur via ces petits fichiers. Enl 'occurence, je passe par un "rewrite rule"

        J'imagine que CCM utilise un CMS similaire.
      2. Merci pour ta réponse très claire.

        J'ai un petit projet d'un site internet, pour l'instant c'est pas ce qui m'importe le plus mais disons que je prend garde pour la suite.
        Merci :)
      3. Si tu es d'accord,
        J'aimerais bien que tu me montres la ligne Rewrite Rule de ton fichier .htaccess.

        Merci.
      4. Pas de soucis,:
              # RealURL TYPO3 extension mod_rewrite configuration
              RewriteEngine On
              RewriteRule ^/typo3$ - [L]
              RewriteRule ^/typo3/.*$ - [L]
        
              RewriteCond %{REQUEST_FILENAME} !-f
              RewriteCond %{REQUEST_FILENAME} !-d
              RewriteCond %{REQUEST_FILENAME} !-l
              RewriteRule .* /index.php


        MAIS, mon .htaccess est configuré pour Typo3 et la règle doit être adaptée en fonction de ce que tu veux réécrire.

        Donc, je te conseille plutot de fouiller là: http://www.urlrewriting.fr/f

        Un forum entier consacré uniquement à la réécriture des URL.
    4. Crée un fichier test.php a la racine de votre serveur
      insérer dedans :

      <?php
      echo (" Test") ;
      ?>

      ensuite crée toujours a la racine de votre serveur un fichier ( .htaccess )
      et mettez y dedans :

      RewriteEngine On
      RewriteRule ^test.html$ /test.php [L]
      RewriteRule ^([0-9a-zA-Z_-]*)$ /$1.html [L]

      Si vous testez ceci : http://www.votreurl.com/test

      sa devrais marcher ;)