【发布时间】: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