Supprimer *.php des URLs
Je possède un site, qui tient la route depuis 2-3 semaines, maintenant puis pour plus de stabilité j'aimerais supprimer les *.php, des URLs, même si ça sert réellement pas à grande chose sa sera toujours plus beaucoup à regarder.
Merci,
L'enjolivement des adresses se fait à l'aide de la réécriture d'URL (ou URL Rewriting).
Elle permet à la fois de simplifier les adresses, d'améliorer son référencement et également d'éviter quelques hack par injection dans l'URL.
Jetez voir un coup d’œil à cette documentation :
https://www.franceserv.fr/wiki/url_rewriting
[h]La bonne nouvelle.[/h]
Ne pas avoir l'extension .php m'intéresse aussi. J'ai donc [s]fait[/s] trouvé ça :
Code : Tout sélectionner
# RAJOUTER .PHP SI AUCUNE EXTENSION
<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
</IfModule>
[h]La mauvaise nouvelle[/h]
Je pensais que cette règle allait supprimer l'extension .php. En effet, tous les liens internes de mon site sont déjà écrits avec leur extension. Ex:
Code : Tout sélectionner
<a href="/mapage.php">ma page</a>
-
- Messages : 174
- Inscription : 13 avril 2012 à 20:53
Pour ne plus avoir les extensions de fichiers, j'utilise une astuce toute simple qui est basé sur le fait que la page nommée "index" ( .html ou .php ) est chargée en premier ( si aucune page n'a été précisée ), je créer donc des dossiers qui porte le nom des pages de mon site. Et donc dans ces dossiers je met ma page mais celle-ci doit être nommée "index" ( .html ou .php )
Ainsi l'URL de ma page nommée "page1.php" n'est plus : "http://www.monsite.fr/page1.php"
mais : "http://www.monsite.fr/page1/"
cela donne :
(avant)
[dossier parent] www.monsite.fr
|- page1.php
(après)
[dossier parent] www.monsite.fr
\t |- page1
\t |- index.php [cette est la même que "page1.php"]
\t\t\t\t
@+
Oui… mais non
Vous imaginez les limites de cette technique, surtout avec un gros site.
Oui, et même les liens sur vos affiches papiers, cartes de visite etc, sinon ça ne servirai à rien de faire de la réécriture si on indique toujours l'ancienne adresse longuetilde3 a écrit :Je pensais que cette règle allait supprimer l'extension .php. En effet, tous les liens internes de mon site sont déjà écrits avec leur extension. Ex:Dois-je recoder chaque lien sans l'extension ?Code : Tout sélectionner
<a href="/mapage.php">ma page</a>
Non, ou alors il faut écrire une double réécriture, il ne faut pas confondre la réécriture d'URL pour une autre URL et la réécriture d'URL pour un fichier sur l'espace FTP :tilde3 a écrit :J'imagine que l'url-rewriting pourrait s'en charger.
1) L'internaute se rend à l'adresse "/inscription.htm" mais le .htaccess le redirige sur l'adresse "/order"
Code : Tout sélectionner
Redirect permanent /inscription.htm /order
Code : Tout sélectionner
RewriteRule ^([0-9a-z-]+)/?$ /?page=$1 [L]
-
- Cet utilisateur a supprimé son compte et n’existe plus.
- Messages : 6340
- Inscription : 29 décembre 2010 à 18:15
Saluttilde3 a écrit :J'ai une bonne et une mauvaise nouvelle :
[h]La bonne nouvelle.[/h]
Ne pas avoir l'extension .php m'intéresse aussi. J'ai donc [s]fait[/s] trouvé ça :Ça fonctionne : lorsque je tape `www.mondomaine.com/index', je vois ma page index.php apparaître, sans extension de fichier.Code : Tout sélectionner
# RAJOUTER .PHP SI AUCUNE EXTENSION <IfModule mod_rewrite.c> Options +FollowSymLinks Options +Indexes RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^([^\.]+)$ $1.php [NC,L] </IfModule>
[h]La mauvaise nouvelle[/h]
Je pensais que cette règle allait supprimer l'extension .php. En effet, tous les liens internes de mon site sont déjà écrits avec leur extension. Ex:Dois-je recoder chaque lien sans l'extension ? J'imagine que l'url-rewriting pourrait s'en charger. Néanmoins, n'est-ce pas intéressant de le faire (alléger le code source, rendre les liens plus lisibles dans le code, sur le ftp…) ?Code : Tout sélectionner
<a href="/mapage.php">ma page</a>
moi aussi j'utilise cette condition pour reecrire mes pages, et j'ai été obligé de supprimer l'extension pour l'appel des pages.
Le fichier htaccess ne faisant que donner l'indication page1 = page1.php
Une astuce avec notepad++ :
Tu ouvres ta page, click recherche --> remplacer --> dans le champ "recherche" mettre .php et laisser vide le champ "remplacer par" clicker sur "remplacer tout"
C'est là que je comprends qu'avant de développer son site web, il est bon de réfléchir à sa structure, à ses possibilités d'évolution…