未 指定输入文件
是由于服务器上PHP的实现而向您显示的消息,在这种情况下,这表示CGI的实现(可以通过验证
phpinfo())。
现在,要正确解释这一点,您需要对系统如何与URL一起使用有一些基本的了解。根据您的.htaccess文件,您的CMS似乎希望该URL作为
PATH_INFO变量传递。CGI和FastCGI实现不可
PATH_INFO用,因此当尝试传递URI时,PHP失败并显示该消息。
我们需要找到一个替代方案。
一种选择是尝试解决此问题。查看核心php.ini指令的文档,您会发现可以更改实现的工作方式。尽管GoDaddy可能不允许您在共享环境中更改PHP设置。
我们需要找到修改PHP设置一个替代
展望
system/uri.php第40行,你会看到,CMS尝试两种类型的URI的检测-第一个是
PATH_INFO,我们刚刚得知将无法正常工作-
另一个是
REQUEST_URI。
这基本上就足够了-
但是传递的URI的解析会给您带来更多麻烦,因为您可以传递给
REQUEST_URI变量的URI会强制
parse_url()仅返回URL路径-
基本上使您返回零。
现在,实际上只剩下一种可能性-这正在改变CMS的核心。URI检测部分不足。
将
QUERY_STRING第40行的数组添加为其中 的第一个元素 ,
system/uri.php并将.htaccess更改为如下所示:
RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.php?/$1 [L]这会将您请求的URI传递为
index.phpas
QUERY_STRING,并进行URI检测以找到它。
另一方面,这使得在不解决核心文件问题的情况下,不更改核心文件就无法更新CMS。糟透了…
需要更好的选择吗?
查找更好的CMS。



