Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess CodeIgniter URL重写问题_.htaccess_Codeigniter - Fatal编程技术网

.htaccess CodeIgniter URL重写问题

.htaccess CodeIgniter URL重写问题,.htaccess,codeigniter,.htaccess,Codeigniter,所以基本上我有相同的问题描述和。我尝试了所描述的一切(还有更多…),但无论如何。这是我的.htaccess: RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L] 我尝试了各种方法,比如在“index.php”之前添加“/”,或者在“index.php”之后不添加“?”

所以基本上我有相同的问题描述和。我尝试了所描述的一切(还有更多…),但无论如何。这是我的.htaccess:

RewriteEngine on

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
我尝试了各种方法,比如在“index.php”之前添加“/”,或者在“index.php”之后不添加“?”,但是没有任何改变

在开发环境中,我们有完全相同的文件,但在进入生产环境时,我无法让index.php消失。这两个环境之间的唯一区别是它们在各自服务器上的位置(…/public_html/APP与…/public_html/sub-domains name/APP),我认为这两者没有关系,但在移动应用程序时,我已经遇到了一些CI问题,因此可能存在一些问题

最后,这里是config.php中的相关行:

$config['base_url'] = "http://www.domain.com/";
$config['index_page'] ='';
$config['uri_protocol'] = "AUTO";
编辑 另外,由于生产和开发环境在同一台服务器上,我已经代表apache排除了配置问题的可能性

EDIT2
我试图在生产服务器上创建一个子目录,并将网站迁移到那里(www.domain.com/test/)。像这样一切都很好。。。因此,我肯定缺少一个配置参数。

我在应用程序中使用相同的重写规则。试试这个: 改变

成为

$config['uri_protocol'] = "QUERY_STRING";
它在我的工作中很好

尝试深入查看apache访问日志和错误日志,以了解apache将浏览器请求路由到何处,以及CI如何获取该请求。激活登录CI也有助于:

$config['log_threshold'] = 2;

不要忘记为
system/logs
目录设置适当的权限,以便apache可以向其写入日志文件。

关于您的编辑-在“同一台服务器”(通过逻辑服务器)上并不一定意味着apache对这两个部署使用相同的配置。是的,这是一个好问题,我将询问服务器管理员。
$config['log_threshold'] = 2;