2 votes

.htaccess redirige l'URL du dossier existant

Le logiciel sur lequel je travaille utilise des urls hideuses. Pour faciliter le partage des projets par les utilisateurs (il s'agit d'un progiciel d'administration de projets), je veux créer une redirection. Elle doit rediriger projectadmin.dev/project/1234 vers une autre URL. J'arrive à faire fonctionner ce système sur ISS en utilisant leurs fichiers web.config, mais Apache me donne des maux de tête.

À des fins de démonstration, j'ai raccourci mon fichier .htaccess actuel, mais le problème persiste :

RewriteEngine On
RewriteRule ^.*project/([0-9]+)$ RandomOtherPage.php  

Lorsque j'accède à l'url projectadmin.dev/project/123 cela me donne une erreur 403 (Forbidden). Je pense que cela se produit parce que le dossier project existe dans mon projet. Lorsque je modifie le fichier .htaccess en :

RewriteEngine On
RewriteRule ^.*projects/([0-9]+)$ RandomOtherPage.php 

Et allez à projectadmin.dev/projects/123 cela fonctionnera comme je l'avais prévu.

Ma question : Comment puis-je ignorer le fait que le dossier du projet existe, mais que les fichiers qui s'y trouvent sont toujours accessibles (par ex. projectadmin.dev/projects/image.jpg devrait toujours fonctionner) et avoir une redirection fonctionnelle avec les chiffres ?

0voto

MrWhite Points 11269

Essayez de désactiver MutliViews . En haut de votre .htaccess fichier :

Options -MultiViews

A moins que vous n'ayez un .htaccess situé dans le dossier /project qui contient également des directives mod_rewrite, il ne devrait pas y avoir de problème, que le dossier existe ou non.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X