【问题标题】:CodeIgniter only shows default controllerCodeIgniter 只显示默认控制器
【发布时间】:2016-11-30 08:25:38
【问题描述】:

在我的本地机器上测试网站时一切正常,但上传后只显示默认控制器。

这是我的设置:

网址: http://devilmay88.bplaced.net/live-access/

文件夹结构:

/live-access
   /application
   /system
   /assets

config.php:

$config['base_url'] = 'http://devilmay88.bplaced.net/live-access/';
$config['index_page'] = '';
$config['uri_protocol'] = 'QUERY_STRING';

routes.php:

$route['default_controller'] = 'Welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['assets/(:any)'] = 'assets/$1';
$route['login'] = 'Login';

.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /live-access   
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ /live-access/index.php?/{controller}/{method}/$1 [L]
</IfModule>

.htaccess 文件位于 live-access 文件夹中,由于我在测试其他内容时遇到错误,它似乎被解释了。当我更改 uri_protocol 时,我得到的只是 404。codeIgniter 版本是 3.0.6。

有人知道这里有什么问题吗?

我刚刚发现 uri_string() 返回一个空字符串(也包括目前建议的 .htaccess 更改)。

【问题讨论】:

  • 您能否提供一个适用于您的本地环境的示例 URL,以及不适用于您的托管环境的相关 URL?
  • 通常人们在RewriteBase /live-access/ 的末尾加上斜杠。考虑到这一点,您不需要在RewriteRule ^(.*)$ index.php/{controller}/{method}/$1 [L] 中使用前导斜杠。另外我认为重复目录名称live-access 就足够了。尝试删除 q 标记。经过测试,我会说这取决于我刚刚提出的最后一个。
  • 小写应该是$route['default_controller'] = 'welcome';
  • 确保所有其他控制器文件名和类的第一个字母只有大写codeigniter.com/user_guide/general/…
  • 控制器和控制器文件的首字母大写。我尝试了 wolfgang1983 和 Tpojka 建议的更改,但仍然没有任何更改。实际上,在我没有 .htaccess 的情况下,我在本地环境中工作,我怀疑由于子文件夹结构,这在网上无法正常工作(但我尝试过,但没有成功)。

标签: php .htaccess codeigniter


【解决方案1】:

为您的 htaccess 尝试一些更简单的方法,例如

RewriteEngine On
RewriteRule ^(application) - [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /live-access/index.php?/$1 [L]  

您也没有告诉我们-您尝试过哪些其他路线或网址?你得到了什么错误?

【讨论】:

  • 试过了,但没有任何变化。我不记得我尝试过的所有内容,基本上是我在网上找到的关于该主题的所有内容。 'Options +FollowSymLinks' 出现 500 错误,似乎没有其他效果。
  • 上传一个新的 codeigniter 副本,确认它可以工作,然后进行测试。如果它仍然不起作用,请联系您的托管公司。子域可能是个问题。
猜你喜欢
  • 2018-10-30
  • 1970-01-01
  • 2015-03-22
  • 1970-01-01
  • 1970-01-01
  • 2016-04-19
  • 1970-01-01
  • 1970-01-01
  • 2015-01-10
相关资源
最近更新 更多