.htaccessredirect现有文件夹的URL

我正在使用的软件使用丑陋的url。 为了方便用户共享项目(这是一个项目pipe理包),我想要redirect。 它应该redirectprojectadmin.dev/project/1234到其他的URL。 我可以得到这个使用他们的web.config文件ISS的工作,但Apache让我头痛。

为了演示目的,我缩短了我当前的.htaccess文件,但它仍然给出了这个问题:

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

当我访问urlprojectadmin.dev/project/123它给了我一个403(禁止)的错误。 我认为这是因为文件夹project存在于我的项目中。 当我将.htaccess文件更改为:

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

并去projectadmin.dev/projects/123它将按我的意图工作。

我的问题:我如何忽略项目文件夹存在的事实,但仍然有可访问的文件(例如projectadmin.dev/projects/image.jpg仍然可以工作),并有数字工作redirect?

尝试禁用MutliViews 。 在.htaccess文件的顶部:

 Options -MultiViews 

除非在/project子目录中有一个.htaccess文件,它也包含mod_rewrite指令,否则如果文件夹存在或不存在就不会有问题。