【发布时间】:2013-04-08 00:47:55
【问题描述】:
我正在尝试安装 codeIgniter,并且我已将所有 codeIgniter 文件复制到 http://www.mydomain.com 中名为 /backend 的文件夹中。
现在,http://www.mydomain.com/backend/index.php 显示 codeIgniter 欢迎页面。
然后我在/backend/controller 文件夹中创建了一个main.php。但是当我打开http://www.mydomain.com/backend/index.php/main 时,它会显示No input file specified。
查看this question后,我将一个.htaccess文件粘贴到/backend文件夹中,内容如下。
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
但页面http://www.mydomain.com/backend/index.php/main 仍然显示No input file specified。
为什么.htaccess 没有任何区别?我不明白发生了什么。
【问题讨论】:
-
可能是你的服务器没有启用mod_rewrite,或者没有开启AllowOverrides(即启用.htaccess文件)。
-
有了那个 .htaccess 文件,您可能希望您的 url 采用
mydomain.com/backend/main的形式。由于它将所有对不存在文件的请求都指向 index.php,因此直接请求 index.php 没有意义 -
@MikeBrant mod_rewrite 已启用,同一个 .htaccess 文件执行其他重定向。
-
@SamDufel 网址
mydomain.com/backend/main显示 404。 -
@blenderous - 尝试将
RewriteBase切换为/backend或将RewriteRule更改为^(.*)$ backend/index.php?/$1 [L]
标签: php .htaccess codeigniter