.htaccess 问题:未指定输入文件
有人可以帮我吗?我觉得我已经把头撞在墙上超过2个小时了。
我已经在我的机器上安装了,下面的代码工作正常,没有错误。Apache 2.2.8 + PHP 5.2.6
.htaccess
RewriteEngine on
RewriteCond $1 !^(index\.php|css|gfx|js|swf|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
我的托管服务提供商服务器上的相同代码给了我一个404错误代码并输出索引.php就在那里。我知道他们安装了Apache(在任何地方都找不到版本信息),并且他们正在运行PHP v5.2.8。only: No input file specified.
我在,他们正在运行一些模式。谁能提出问题可能是什么?Windows XP 64-bit
Linux
PHP
CGI/FastCGI
PS.如果这很重要,那就是使用友好的URL。CodeIgniter
更新1:
mod_rewrite
已安装并打开。
我注意到的是,如果我换成(问号而不是正斜杠),它会进入一个无限循环。无论如何,使用问号不是一个选项,因为(必需)不会以这种方式工作。RewriteRule
/index.php?$1
CodeIgniter
主页也工作,当我直接请求索引.php:example.com/index.php
我开始认为可能是apache认为一旦添加了尾部斜杠,它就不再是一个文件,而是一个文件夹。如何改变这种行为?
更新 2:
我错了。
Apache 可以正确处理这些 URL。
请求(主页)或任何其他有效地址有效。
似乎只是由于某种原因没有转发查询。http://example.com/index.php/start/
Apache
更新 3:
只是为了清楚我试图实现的目标。
我想像这样重写地址:
http://www.example.com/something/=>http://www.example.com/index.php/something/ http://www.example.com/something/else/=>http://www.example.com/index.php/something/else/