Version complète: sur le forum Webmaster Hub : Url rewriting et autorisation/redirection
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
ebola
Bonjour à tous,

Je creer ce topic car j'aurai besoin de votre aide pour améliorer un de mes fichier .htaccess

Celui ci gere tout l'url rewriting de mon site, il contient pour l'instant uniquement les indications de reecriture:

RewriteEngine on

RewriteRule ^index\.html$ /index.php [L]

Biensur il y en a des dizaines comme sa.

Ce que je voudrais c'est interdire l'accés à tous les liens vers le site qui n'ont pas été inscrit dans les RewriteRules. Et rediriger vers une page 404.


Admettons que mon fichier contienne uniquement:

RewriteEngine on

RewriteRule ^index\.html$ /index.php [L]
RewriteRule ^index2\.html$ /machin/index.php [L]

Il faudrait alos que seul index.html et index2.html soit visitable et que tout le reste soit transformé en erreur 404.

Merci d'avance pour votre aide.
Jeanluc
Je ne pense pas que ce soit une très bonne solution, mais si tu y tiens, il suffit d'ajouter une règle qui envoie vers une adresse non existante à la fin de ton .htaccess:
CODE
RewriteEngine on

RewriteRule ^index\.html$ /index.php [L]
RewriteRule ^index2\.html$ /machin/index.php [L]
RewriteRule ^(.)$ /nexiste.pas [L]

Jean-Luc
Dan
Ou simplement renvoyer un "forbidden" après toutes les règles, comme ceci:
RewriteRule (.*) - [F]

Mais attention, les fichiers images, javascript, css, doivent être traités dans les règles sinon cela donnera une page 403.

PS: effectivement, je suis d'accord avec Jean-Luc. Je trouve cela boiteux comme solution.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.