0

我们刚刚将 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]

4

2 回答 2

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 应更改为您的子目录的名称。另外,如果这些都不起作用,并且您的根目录上有一个 htaccess,它可能会影响这个子目录。

于 2012-06-05T17:28:13.793 回答
0

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

root -> application -> configconfig.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';

现在一切正常。

于 2012-06-07T13:05:20.733 回答