【问题标题】:URL-rewriting Codeigniter htaccessURL 重写 Codeigniter htaccess
【发布时间】:2015-03-05 08:27:15
【问题描述】:

由于我将网站更改为另一台服务器,因此我无法访问 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..

可能是什么问题?

【问题讨论】:

    标签: php .htaccess codeigniter url-rewriting


    【解决方案1】:

    CodeIgniter 在二级文件夹中工作的一些原因:首先,您必须更改 application/config/config.php 中的$config['base_url'] = http://www.domain.com/codeigniter/';

    然后,当然,将 .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 模块。

    【讨论】:

    • 1 个问题已解决:添加 ?在 index.php 之后只是 index.php 还是有问题
    【解决方案2】:

    更改 .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 之后,我将 routes.php 中的默认控制器更改为 info/view/home/

    它是多种事物的组合......奇怪的是它在旧主机上工作。这显然是错误的..

    【讨论】:

      猜你喜欢
      • 2013-12-15
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 2013-01-24
      • 1970-01-01
      • 2012-02-03
      • 2019-12-06
      • 2015-02-15
      相关资源
      最近更新 更多