0

我有一个使用 CodeIgniter 的工作网页。我现在只是将它上传到我的网络服务器,它给了我一个 404 错误。

浏览器地址为“web-page.com/folder/en/about”

配置中的baseurl是“网页/文件夹/”

这也在 config.php 中,我确实尝试了 AUTO,但它也不起作用。

$config['index_page'] = "";
$config['uri_protocol'] = "QUERY_STRING";

index.php 在“web-page.com/folder/”中

我的 htaccess 在“web-page.com/folder/.htaccess”中

.htaccess 的内容是

AddCharset utf-8 .css .html .xhtml
Options +FollowSymlinks
RewriteEngine on
RewriteBase  /folder/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !^(index\.php|images|media|layout|css|libs|robots\.txt)
RewriteRule ^(.*)$ /folder/index.php?/$1 [L]

你有任何提示,任何想法,我可以尝试做什么?我确实检查了所有权利,即使使用 777 它也不起作用。

提前致谢。

卢卡斯

4

5 回答 5

2

我知道这应该是一个评论,但显然我还没有足够的代表。谁是您的网络主机?这有时可能会在整个过程中造成麻烦。

我知道 GoDaddy 需要一些不同的配置设置才能使 CodeIgniter 在没有“index.php”的情况下正常工作。

如果是,您需要将 uri_protocol 配置项更改为 QUERY_STRING。

您可以将 index_page 设置留空,但您需要将 htaccess 文件更新为如下内容:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L] 
于 2010-04-15T14:46:35.457 回答
1

好吧,愚蠢的,愚蠢的我。我知道了。

错误出现在我的“routes.php”中,我不得不将默认控制器小写

$route['default_controller'] = "Base";

至:

$route['default_controller'] = "base";

我的离线服务器确实可以使用它。感谢您的支持。

于 2010-04-15T15:46:35.087 回答
0

至少值得一提的是,尽管我可以将数据打印到屏幕上,但我得到了一个 404 http 代码。尝试在表单之间传递 POST 数据时出现问题。

长话短说,确保您启用了 apache 重写:

apache2ctl -t -D DUMP_MODULES

或者,在 phpinfo() 中的“apache2handler”下的“加载模块”下查找“mod_rewrite”。

启用 apache 重写:

sudo a2enmod rewrite

希望这对某人有帮助!

于 2011-10-12T02:55:01.750 回答
0

尝试

$config['uri_protocol'] = REQUEST_URI 

在 REQUEST_URI 或 QUERY_STRING 之间切换对我有用

于 2012-07-06T07:58:39.703 回答
0

如果有人再次阅读这篇文章,请不要忘记检查 url 中的所有大写和小写字母

于 2016-07-05T17:20:47.690 回答