【问题标题】:routes in codeigniter from a subdirectory来自子目录的 codeigniter 中的路由
【发布时间】:2023-04-01 17:10:02
【问题描述】:

我在尝试使路由在生产系统 (nginx) 上工作时遇到问题。它适用于运行 apache 的 localhost。

文件结构

/var/www/example.com
   --application
   --system
adm
   --application
   --system
   --controller
       --user
       --example
   --model
        --users_model
    --views
        --admin/
              --login
              --signup_form
        --example

尝试从 adm 文件夹访问控制器时,我不断收到 404 错误。 我的路线

$route['default_controller'] = 'user';
$route['404_override'] = '';

/*admin*/
$route['admin'] = 'user/index';
$route['admin/signup'] = 'user/signup';
$route['admin/create_member'] = 'user/create_member';
$route['admin/login'] = 'user/index';
$route['admin/logout'] = 'user/logout';
$route['admin/login/validate_credentials'] = 'user/validate_credentials';

用户控制器视图仅显示静态内容,其他所有内容均显示 404。

/var/www/example.com/adm/application/config/config.php

base_url = http://example.com/adm
uri_protocol = AUTO

任何帮助将不胜感激,TIA。

【问题讨论】:

  • RewriteEngine on RewriteBase /adm/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [PT,L] htaccess 文件来自 adm 目录
  • 你有these设置吗?
  • 是的。它不工作,仍然显示 404 未找到。在删除除默认路由以外的所有路由变量后,我实际上也无法从 URL 访问控制器,例如 [example.com/adm/user/index]。

标签: codeigniter nginx routing subdirectory


【解决方案1】:

您必须在项目文件夹之后添加 index.php,例如:

www.site.com/project/index.php/user/signup

如果您想在没有 index.php 的情况下访问您的网站,请查看此帖子 CodeIgniter removing index.php from url

【讨论】:

  • 它不起作用。我的 htaccess 配置为删除 index.php
  • 我让它在生产服务器上的 xampp 上工作,但在 nginx 上仍然没有运气。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 2014-08-03
  • 1970-01-01
  • 2011-11-28
相关资源
最近更新 更多