Faire une réécriture ou une redirection que si le fichier n'existe pas

      Information

Pour qu'une RewriteRule ne s'applique que si le script n'existe pas il faut ajouter une condition testant la variable REQUEST_FILENAME. L'option -f permet de tester que le fichier existe et le ! inverse le test. Avec une règle de réécriture très général, un tel test est souvent obligatoire.
   Code source classé dans  HTACCESS

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
                               
/****************************************************/
/*
     Titre : Faire une réécriture ou une redirection que si le fichier n'existe pas                                       
                                                                                                                          
     URL   : https://phpsources.net/code_s.php?id=732
     Auteur         : administrateur                                                                                      
     Date edition   : 10 Mai 2008                                                                                         
*/
/*****************************************************/
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ...

       Documentation officielle PHP

   php.net  Description Versions PHP OUTIL
   array Crée un tableau PHP 4, PHP 5, PHP 7
   count Compte le nombre d'éléments d'un tableau ou le nombre de propriétés d'un objet PHP 4, PHP 5, PHP 7
   die Alias de la fonction exit() PHP 4, PHP 5, PHP 7
   dirname Renvoie le nom du dossier PHP 4, PHP 5, PHP 7
   echo Affiche une chaîne de caractères PHP 4, PHP 5, PHP 7
   empty Détermine si une variable contient une valeur non nulle PHP 4, PHP 5, PHP 7
   exit Affiche un message et termine le script courant PHP 4, PHP 5, PHP 7
   header Envoie un en-tête HTTP PHP 4, PHP 5, PHP 7
   highlight_string Applique la syntaxe colorisée à du code PHP PHP 4, PHP 5, PHP 7
   htmlspecialchars Convertit les caractères spéciaux en entités HTML PHP 4, PHP 5, PHP 7
   in_array Indique si une valeur appartient à un tableau PHP 4, PHP 5, PHP 7
   isset Détermine si une variable est affectée PHP 4, PHP 5, PHP 7
   mysql_error Retourne le texte associé avec l'erreur générée - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   mysql_fetch_array Retourne une ligne de résultat MySQL sous la forme d'un tableau - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   mysql_insert_id Retourne l'identifiant généré par la dernière requête INSERT MySQL - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   mysql_query Envoie une requête à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   mysql_real_escape_string Protège les caractères spéciaux d'une commande SQL - (PHP 4 >= 4.3.0, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   str_replace Remplace toutes les occurrences dans une chaîne PHP 4, PHP 5, PHP 7
   urlencode Encode une chaîne en URL PHP 4, PHP 5, PHP 7
   utf8_decode Convertit une chaîne UTF-8 en ISO-8859-1 PHP 4, PHP 5, PHP 7
   utf8_encode Convertit une chaîne ISO-8859-1 en UTF-8 PHP 4, PHP 5, PHP 7

  • Merci de signaler tout problème rencontré avec ce code

L'ajout de commentaire est libre et ne demande pas d'inscription

Suivez PHP Sources sur Twitter !

PHP débutant et initié 50 Tutoriel

Présentation de PHP

  Derniers scripts PHP

Apache 2.4.41

logo Apache
Langue langue us
Date  hier
Taille 7 Mo
Catégorie Apache

ZwiiCMS 9.2.04

logo ZwiiCMS
Langue langue fr
Date  hier
Taille 3 Mo
Catégorie CMS

Bolt 3.6.10

logo Bolt
Langue langue us
Date  hier
Taille 23 Mo
Catégorie CMS

EspoCRM 5.6.11

logo EspoCRM
Langue langue us
Date 14 Aout
Taille 40 Mo
Catégorie CRM
avatar

administrateur

  10 Mai 2008

  SOURCE   Télécharger
942,4 Vues

loader gifCompatibilité du code

Les versions PHP en cours

PHP 5+
PHP 7+
86 codes

Catégorie :  HTACCESS

Afficher une page différente suivant l'heure
Ajouter un logo en filigrane sur vos images et vos photos
Anti spam à partir des urls qui spamment
Appliquer une condition à  plusieurs règles de réécriture
Augmenter les performances avec AllowOverride
Autoriser l'accès qu'a certaines extensions
Blocage d'une adresse IP avec le fichier .htaccess
Bloquer des sites qui spam - version php et .htaccess
Bloquer l'accès à certaines extensions de fichier
Bloquer l'accès au site pour le navigateur libwww-perl
Bloquer l'accés selon l'heure
Bloquer le hacking avec le script errors.php
Bloquer les hackers utilisant le script booth.php
Bloquer les proxy appspot.com
Bloquer les requetes de hacker avec %3Cstring%3E
Bloquer les user agent (navigateur) indésirables
Comment mettre du code php avec une extension html
Compression automatique des pages
Corriger automatiquement les petites erreurs de saisie des urls
Corriger la faille touchant mambo via image_upload.php
Définir le charset par défaut
Déplacer une arborescence
Désactiver l'option MultiViews : une url est accessible avec et sans extension
Désactiver la signature du serveur
Empeche le hack via wamp_dir/setup/yesno.phtml
Empeche une réécriture de boucler
Empecher de visualiser les fichiers .htaccess et .htpasswd
Empecher l'accès avec www.
Empecher le hack via admin.php
Empecher le hack via admin_smilies.php
Empecher le hack via aedatingCMS.php
Empecher le hack via bbs.lib.inc.php
Empecher le hack via gestion_sondage.php
Empecher le hack via mosConfig_absolute_path
Empecher le hack via setup/header.php
Empecher le hack via sitemap.php
Empecher les attaques par include de fichier externe
Eviter de recharger des pages statiques en indiquant une expiration dans 100 ans
Eviter la faille de sécurité de joomla (mosDirectory)
Eviter les attaques par le script send_reminders.php
Faire une réécriture ou une redirection que si la requàªte ne correspond pas à  un répertoire ou un fichier existant
Faire une réécriture ou une redirection que si la requête ne correspond pas à un répertoire existant
Faire une réécriture ou une redirection que si le fichier existe
Faire une réécriture ou une redirection que si le fichier n'existe pas
Force HTTPS
Forcer l'accès en francais si aucune langue n'est sélectionnée
Forcer la redirection de index.html vers /
Gestion de cache par fichier .htaccess
Inclusion de fichiers distants avec un script de HITWEB
Interdire l'accès à un répertoire sans fichier index
Interdire l'affichage de vos images sur un autre site
Maitriser l'affichage du contenu du répertoire en cas d'absence d'index
Mettre les images, flash,... en cache plus longtemps
Modifier le type MIME (Content-Type) pour un flux rss
Obliger l'accès avec index.php et rediriger l'accès par /
Protection contre la faille de sécurité de info.inc.php
Protection contre la faille de sécurité de stats.inc.php
Protection contre le hack avec 404.php
Protection contre les attaques de hacker avec register global on
Protection d'un répertoire avec un mot de passe
Protection d'un répertoire avec un mot de passe sur free
Recevoir un mail quand vos photos sont affichées sur un site inconnu
Redirection d'un ancien nom de domaine vers un nouveau nom de domaine
Redirection d'un répertoire vers un sous domaine
Redirection d'une arborescence vers une page unique
Redirection https vers http ou http vers https, redirection page sécurisée SSL/TLS
Redirection massive avec le sous domaine (www)
Redirection pour une maintenance de votre site
Redirige tout un repertoire d'un domaine principale vers un sous-domaine
Rediriger la racine d'un site vers un répertoire
Rediriger tout en gardant l'url d'origine
Rediriger tout un répertoire vers la racine
Rediriger un domaine vers un autre et suivre dans Google analytics
Rediriger une page vers une url contenant la date du jour
Réécrire des sous-domaines vers le domaine principal avec une variable
Réécriture de sous-domaine vers un répertoire du domaine principal
Referrer bloquer le spam
Règle de réécriture avec plus de 9 paramètres
Renommer l'url et les paramètres avec une redirection 301
Se protéger du hacking avec admin.php et include_path
Sécurisation de votre site avec phpbb (phpbb_root_path)
Substituer vos images si elles sont affichées sur un autre site
Tester les réécritures d'url en local sur un PC avec WampServer
Tracking des liens du bouton J'aime de Facebook dans Analytics
Vulnérabilité par inclusion de fichier distant avec smarty.php
Vulnérabilité touchant webcalendar via tools/send_reminders.php