Codeigniter站点在子目录中复制,不显示单个页面

时间:2012-06-04 22:57:47

标签: .htaccess codeigniter url redirect subdirectory

我们刚刚将Codeigniter网站(从我们的根域)复制到同一根域上的子目录(所有config.php更改和新数据库等)。但是,页面链接不显示单个页面,浏览器只是重新加载index.php页面内容(就好像它正在加载新页面)并将浏览器窗口中的URL更改为正确的页面。

这真的很奇怪,而且我花了好几个小时才倾倒它,所以我希望这里有人可以给我一个起点搜索点。

有关您的信息,子目录中的.htaccess是:

RewriteEngine on
RewriteRule ^test.php$ mod_rewrite.php
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

2 个答案:

答案 0 :(得分:0)

如果新的codeigniter安装在现在曾经位于根目录的子目录中,则需要在htaccess的index.php部分前面包含子目录的名称

这样的事情(改变在最后一行):

RewriteEngine on

RewriteRule ^$ /dev/index.php [L]
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico|zip\.php|resources)
RewriteRule ^(.*)$ /dev/index.php?/$1 [L]

dev应该更改为子目录的名称。另外,如果这两个都没有,并且你的root上有一个htaccess,它可能会影响这个子目录。

答案 1 :(得分:0)

现在经过许多不同的尝试后对它进行排序!

root中的文件config.php - >申请 - >配置(第46行)原来是:
$config['uri_protocol'] = ($_SERVER['SERVER_ADDR'] == '127.0.0.1') ? 'AUTO' : 'ORIG_PATH_INFO';

应该是:
$config['uri_protocol'] = ($_SERVER['SERVER_ADDR'] == '127.0.0.1') ? 'AUTO' : 'PATH_INFO';

所有现在都正常运作。