我在本地主机上的codeigniter中开发了这个系统我能够加载它而无需将控制器名称写为 localhost / ecommerce / 但是一旦我将其上传到在线Nginx服务器,我必须加载它作为 tushibe.com/shopController 而不是 tushibe.com / 我能做错什么? Herer是我的.htaccess代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
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
</IfModule>
这是我的路线代码
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$route['default_controller'] = "shopController";
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;;
/* End of file routes.php */
/* Location: ./application/config/routes.php */
我也更改了配置文件 取代
$config['index_page'] = "index.php";
与
$config['index_page'] = "";
经过一番深入研究后,我意识到nginx seamingly不会理解.htaccess文件,因此我需要将它们转换为Nginx .config文件。因为我对nginx完全不熟悉,所以我不知道如何做到这一点我想问一下
答案 0 :(得分:1)
您应该在config / routes.php中添加以下规则
// Profile Route
$route['(:any)'] = 'shopController/$1';
这会重新路由您的请求,并通过tushibe.com/shopController
发送您的请求。
希望这会对你有所帮助。