[英]URL-rewriting Codeigniter htaccess
由于我将网站更改为另一台服务器,因此我遇到了无法访问domain.com/codeigniter/上的网站的问题。 我的默认控制器是info /。它与http://www.domain.com/codeigniter/info/和http://www.domain.com/codeigniter/info/model/一起使用
$route['default_controller'] = "info/";
$route['404_override'] = '';
$route['info/(:any)'] = "info/view/$1";
的.htaccess
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
但是在新服务器上它不起作用。 问题在于它总是以http://www.domain.com/index.php结尾,而不是codeigniter安装目录的index.php结尾。
可能是什么问题呢?
使CodeIgniter在辅助文件夹中起作用的原因有很多:首先,必须更改$config['base_url'] = http://www.domain.com/codeigniter/';
在application / config / config.php中 。
然后,当然,将.htacces文件更改为此:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
# block hidden directories
RewriteRule "(^|/)\." - [F]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
</IfModule>
PHP mod_rewrite模块是必需的。
更改.htacces并将“ base_url”留空后( http://www.domain.com/codeigniter/不起作用)。
我有以下问题:
http://www.domain.com/codeigniter/ --> ERROR 404 from CI
http://www.domain.com/codeigniter/info/ --> No input file specified
http://www.domain.com/codeigniter/index.php/info/ --> OK
编辑:问题解决了..我忘记了? 在.htaccess中的index.php之后,我将route.php中的默认控制器更改为info / view / home /
它是多种事物的结合...奇怪的是,它可以在旧主机上工作。 显然是错误的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.