Apache url重写";“同一文件的双路径”;

Apache url重写";“同一文件的双路径”;,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,我的htaccess文件有问题,但我不明白错误来自何处: 例: 我的文件夹中有以下文件 contact.php 我做了一个基本的重写 RewriteRule ^about/$ contact.php [L] 因此,现在可以从http://localhost/project/about/ 问题是该页面也可以从 http://localhost/project/contact/ 为什么会这样? 我怎么能不允许呢 谢谢你的回答 这是由于启用了选项多视图。选项MultiViews

我的htaccess文件有问题,但我不明白错误来自何处:

例:

我的文件夹中有以下文件

  • contact.php
我做了一个基本的重写

 RewriteRule    ^about/$    contact.php [L]
因此,现在可以从
http://localhost/project/about/

问题是该页面也可以从

  • http://localhost/project/contact/
为什么会这样? 我怎么能不允许呢


谢谢你的回答

这是由于启用了选项
多视图
。选项
MultiViews
Apache的内容协商模块使用,该模块在
mod_rewrite
之前运行,并使Apache服务器匹配文件扩展名。所以
/file
可以在URL中,但它将提供
/file.php

要禁止此操作,您可以在.htaccess上添加此行:

Options -MultiViews

很好用!谢谢