Bonjour,

Je m'occupe d'un site http://aila.fr et j'ai une page http://aila.fr/1.php
Tout marche.
Je souhaiterais communiquer cette adresse de manière plus simple en supprimant l'extension .php, c'est-à-dire, demander aux gens d'aller sur aila.fr/1
Il faut donc que mon serveur (je suis chez 1&1) ajoute cette extension. J'ai essayé de mettre dans le fichier 1.php :
$url=$_SERVER['REQUEST_URI'];if(substr($url, -4, 4)!='.php'){header('Location: '.$url.'.php');exit();}

ou de placer dans le fichier htaccess :
# add .php file extension
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+)$ $1.php [L]

Aucune des deux solutions n'a marché (et je ne suis pas un pro).

Quelqu'un aurait-il une solution facile à mettre en oeuvre s'il vous plaît.
Modifié par tibibou (20 Aug 2014 - 00:44)
Vous n'avez qu'a ajouter ce code dans .htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]


Cela
$url=$_SERVER['REQUEST_URI'];if(substr($url, -4, 4)!='.php'){header('Location: '.$url.'.php');exit();}


et cela vous pouvez enlever
# add .php file extension
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+)$ $1.php [L]


après le url http://aila.fr/1 marche pareil comme http://aila.fr/1.php

Et voila
Merci Lethehau,

Je viens d'essayer comme suggéré et le serveur ne trouve pas la page http://aila.fr/1
De fait il me renvoie une erreur 404 (le plan du site).
Une autre suggestion (ou une erreur que j'aurais pu faire en copiant le code, mais c'était simple) ?

Voici mon htaccess (j'ai supprimé tout le reste pour être sûr de bien tester les 3 lignes) :
# Apache 2.0 - open with notepad +  and save htaccess in UTF8 sans BOM - without extension
# help from:  http://www.htaccess-guide.com/
 
# htaccess at aila site root level
SetEnv SG_DEFAULT_PHP_VERSION 5

# Make http header as UTF-8 and French
AddDefaultCharset UTF-8
DefaultLanguage fr

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

Modifié par tibibou (20 Aug 2014 - 10:32)
Résolu

Pour les autres personnes du forum, j'ai résolu en simplifiant. Comme je n'ai que 3 pages à rediriger, j'ai "hard-codé" le rewriting (ce qui ne me plaît pas intellectuellement, mais il fallait que ça marche) :
# add the php extension to some files
RewriteRule "^1$"  http://aila.fr/1.php  [R=permanent,L]
RewriteRule "^2$"  http://aila.fr/2.php  [R=permanent,L]
RewriteRule "^3$"  http://aila.fr/3.php  [R=permanent,L]

Mes trois pages http://aila.fr/1 http://aila.fr/2 et http://aila.fr/3 sont accessibles

Je suis toujours preneur d'une solution plus élégante... Smiley cligne
Modifié par tibibou (20 Aug 2014 - 10:53)