Ubuntu服务器:Apache2似乎将.php附加到URI

我正在使用PHP库补品的Web服务。 我的资源就是例子

base-uri/myResource 

现在,如果该目录中存在一个myResource.php文件,那么mod_rewrite的url就可以看到

 base-uri/myResource.php 

然后失败的重写条件和我的应用程序中断(应用程序在Windows上的Apache)

如果我将myResource.php重命名为myResourceClass.php(或其他),它就可以工作。

所以它似乎是apache或一个,如果其模块假定与base-uri / myResource我想调用base-uri / myResource.php,但只有当myResource.php存在。

这是一个普遍的问题,或者我可以在某处configuration这不会发生?

谢谢!

编辑:

看到

如何设置一个基本的mod_rewrite?

答案包含相同的观察!

回答:

问题是Ubuntu上的默认Apacheconfiguration:

 Options Indexes FollowSymLinks MultiViews 

MultiViews将request_uri从myResource更改为myResource.php。

解决scheme:

  • 在.htaccess中禁用MultiView:选项-MultiViews
  • 从默认configuration中删除MultiView
  • 将该文件重命名为myResourceClass的示例

我select了最后一个选项,因为这应该工作,无论configuration,我只有3个这样的文件,所以改变了大约30秒…

问题是Ubuntu上的默认Apacheconfiguration:

 Options Indexes FollowSymLinks MultiViews 

MultiViews将request_uri从myResource更改为myResource.php。

解决scheme:

  • 在.htaccess中禁用MultiView:选项-MultiViews
  • 从默认configuration中删除MultiView
  • 将该文件重命名为myResourceClass的示例

我select了最后一个选项,因为这应该工作,无论configuration,我只有3个这样的文件,所以改变了大约30秒…

这个文件夹里有一个.htaccess文件,检查是否有.php存在,如果是的话,请添加.php扩展名。

我的build议:检查文件夹中的.htaccess文件。 如果有的话,我的build议是不够​​的,那么请加上你的问题,这样我们可以进一步。