Macos mod_rewrite错误地重定向到.html

Macos mod_rewrite错误地重定向到.html,macos,apache,.htaccess,mod-rewrite,apache2,Macos,Apache,.htaccess,Mod Rewrite,Apache2,我刚刚在OSX 10.9上安装了一个AMP服务器,但我的实时托管服务器或旧WAMP服务器上没有出现一个奇怪的问题 我想将任何不直接映射到服务器上文件的URL重定向到index.php。我正在使用下面的.htaccess代码 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # prevent loop RewriteCond %{REQUEST_URI} !index\

我刚刚在OSX 10.9上安装了一个AMP服务器,但我的实时托管服务器或旧WAMP服务器上没有出现一个奇怪的问题

我想将任何不直接映射到服务器上文件的URL重定向到index.php。我正在使用下面的.htaccess代码

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# prevent loop
RewriteCond %{REQUEST_URI} !index\.php
RewriteRule ^(.*)$ /index.php?/$1 [L]
当我尝试
http://example.com/example
没有问题,但是当我引入另一个斜杠时,例如,
http://example.com/example/

我发现404错误
在此服务器上找不到请求的URL/example.html/。


服务器版本:Apache/2.2.26(Unix)

看起来您的问题与启用此处的
多视图有关。使用.htaccess顶部的此行将其关闭:

Options -MultiViews
  • 选项
    MultiViews
    Apache的内容协商模块使用,该模块在
    mod_rewrite
    之前运行,并使Apache服务器匹配文件扩展名。所以
    /file
    可以在URL中,但它将提供
    /file.php