【发布时间】:2016-03-15 22:55:10
【问题描述】:
我的 codeigniter 库位于一个名为“codeigniter”(非常原始)的文件夹下,所以我在这个加载良好的地址访问它,http://mysite.co.uk/codeigniter/index.php/pages/view/about
但是,如果地址中没有“index.php”,我无法使用以下地址http://mysite.co.uk/codeigniter/pages/view/about URL 访问我的“关于”页面,它一直在访问我的默认控制器而不是我的页面控制器。
我更新了以下内容:
config.php
$config['base_url'] = 'http://mysite';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';
.htaccess
RewriteEngine on
RewriteBase /codeigniter/
RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
任何帮助都会很棒!
【问题讨论】:
-
使
$config['base_url'] = 'http://mysite';成为$config['base_url'] = 'http://mysite/';- 注意斜线结尾。由docs提出。其次,尝试使用RewriteRule ^(.*)$ index.php?/$1 [L,QSA]- 注意问号(某些服务器需要修复)。最后但并非最不重要的一点是,重定向可能与APPPATH . 'routes.php'有关,也许? -
感谢您的回复。我已经尝试了前 2 个建议,但仍然没有运气。 APPPATH 是什么意思?应该做出什么改变?
-
APPPATH是您的/codeignter/application/目录的CI常量,所以我弄错了,我的意思是APPPATH . 'config/routes.php'文件。只是在问自己是否会出现你所描述的那样的结果。 -
我必须访问 .htaccess 文件,一个与“系统”目录处于同一级别,另一个位于“应用程序”目录中。我需要更新哪一个?
-
这些都不是。这些文件用于拒绝访问各个目录。通常,您应该只更改与
index.php文件相邻(与同一级别)的一个文件。
标签: php .htaccess codeigniter