1

我知道这个问题可能已经被问过数千次了,我查看了其中的大多数,但无法解决我的问题:s

我在 godaddy 托管公司上安装了一个 codeigniter 框架,我读到我必须创建一个 .htacces 文件并将此代码放入:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>

但这并不能解决我的情况,是我将此站点托管在另一个域下吗?例如,我的 ftp 结构如下所示:/ facelajm studenti fxclod

我正在尝试获取以下网址 www.facelajm.com/studenti 的网站,该网址可以很好地打开主页,但是当我尝试登录或注册时,它只会返回我没有指定输入文件。

任何人都可以帮助我吗?

4

4 回答 4

2

似乎在某些配置中 CI 核心错过了规则,我现在使用的 .htaccess :

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]
ErrorDocument 404 index.php

在我的情况下(开发:一个子文件夹,产品:一个“插件域”),这两条额外的行提供了魔法:

RewriteCond %{REQUEST_URI} ^/system.*
RewriteRule ^(.*)$ index.php?/$1 [L]

资料来源: http ://www.diegodicamillo.com.ar/blog/2012/09/19/no-input-file-specified-codeigniter-error-problema-resuelto/

于 2013-12-17T23:50:44.383 回答
1

根据您的问题,我了解到您正在域(“www.facelajm.com”)的子文件夹(“studenti”)中运行 codeignitor。所以下面的 .htaccess 代码将起作用。

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>

并且不要忘记更改配置文件(application/config/config.php)中的 baseurl,如下所示。

$config['base_url'] = "http://www.facelajm.com/studenti"

您在问题中使用的上述 .htaccess 将适用于子域。因此,您也可以create a sub domain and map the folder到子域并使用您在问题中使用的代码(我在下面添加了参考)。

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
</IfModule>

并且不要忘记将配置文件(application/config/config.php)中的 baseurl 更改为新的子域(assuming new sub domain as http://codeignitor.facelajm.com/),如下所示。

$config['base_url'] = "http://codeignitor.facelajm.com/"
于 2015-01-28T06:09:06.360 回答
0

这是我在 Godaddy 上的 .htaccess 文件,它工作正常:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

如果 codeigniter 不在根目录中,您的问题可能是 RewriteBase 行。

于 2013-09-25T18:28:28.430 回答
0

请尝试以下代码:

RewriteCond %{REQUEST_FILENAME}上的
RewriteEngine !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(. )$ /index.php [L] 或 RewriteRule ^(. )$ index.php?/$1 [QSA,L]

于 2013-10-28T10:18:03.137 回答