我刚刚在OSX 10.9上设置了一个AMP服务器,并且遇到了一个bizzare问题,这个问题在我的实时托管服务器或旧的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错误The requested URL /example.html/ was not found on this server.
服务器版本:Apache / 2.2.26(Unix)
答案 0 :(得分:0)
看起来您的问题与此处启用MultiViews
有关。在.htaccess:
Options -MultiViews
MultiViews
使用选项Apache's content negotiation module
,它在mod_rewrite
之前运行,并使Apache服务器匹配文件扩展名。因此/file
可以在网址中,但它会投放/file.php
。