htaccess pour réécrire uri dans get si pas fichier / dossier

J’ai besoin de la règle htaccess qui réécrit un uri dans get variable s’il ne s’agit pas d’un fichier ou d’un dossier existant. Exemple:

www.example.com/page1.php -> goto page1.php www.example.com/page2.html -> goto page2.html www.example.com/folder -> goto /folder www.example.com/some_ssortingng_value -> rewrite as /default.php?value=some_ssortingng_value 

C’est vraiment une demande très courante. Il y a probablement 1000 questions sur ce sujet posées sur ce site. Vous devez utiliser RewriteCond et REQUEST_FILENAME pour rechercher un dossier inexistant, puis réécrire en interne pour obtenir des variables. Essentiellement, si c’est un 404 (non existent URI) il sera routé vers votre fichier default.php. C’est comme ça que les URL sont belles. Vous pouvez mettre cela dans votre fichier .htaccess à la racine.

 RewriteEngine On #prevent the use of the default.php file directly and redirect to friendly URI RewriteCond %{THE_REQUEST} [AZ]{3,9}\ /default\.php\?value=([^&\ ]+) RewriteRule ^ /%1? [R=301,L] #redirect non existent (404) folder to get variable RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/?$ /default.php?value=$1 [L]