【问题标题】:Kohana 3 deployment controller problemsKohana 3 部署控制器问题
【发布时间】:2013-06-28 14:52:26
【问题描述】:

我最近将我的应用程序从 Windows localhost 迁移到了 linux 主机。

我的问题是我无法访问控制器,我总是收到消息:找不到文件。(来自网络服务器)

这很奇怪,因为相同的代码库正在我的本地主机上运行。

bootstrap.php:

Route::set('default', '(<controller>(/<action>(/<id>)(/<param1>)(/<param2>)))')
    ->defaults(array(
        'controller' => 'user',
        'action'     => 'index',
                  'param1' =>'',
                  'param2' =>'',
    ));

.htaccess:

# Turn on URL rewriting
RewriteEngine On

# Installation directory
RewriteBase /


# Protect application and system files from being viewed
RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L]

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]

这里发生的奇怪事情是,如果我去: www.myapp.com/ 然后默认控制器执行并找到用户/索引函数。

但如果我手动将其写为 www.myapp.com/user/index,我会不断收到 File not found 消息。

我已经尝试用小写重命名控制器文件,所以我想这不是问题,而且如果这是问题,默认路由一开始就找不到它,对吧?

例如,如果我写在默认路由中:

Route::set('default', '(<controller>(/<action>(/<id>)(/<param1>)(/<param2>)))')
    ->defaults(array(
        'controller' => 'user',
        'action'     => 'login',
                  'param1' =>'',
                  'param2' =>'',
    ));

我访问 www.myapp.com ,它会加载用户功能。我不知道这里出了什么问题,为什么当我写 myapp.com/user/login 时它说找不到文件,但是如果我把它作为默认路由它会打开它。

【问题讨论】:

    标签: model-view-controller deployment controller kohana-3


    【解决方案1】:

    您是否在 bootstrap.php 中设置了 base_url?如果没有,你应该设置 base_url your_project_name/

    如果是,你应该在你的 .htaccess 中设置 RewriteBase /your_project_name/

    【讨论】:

      【解决方案2】:

      我在与此相关的另一个线程中找到了解决方案。您需要将这段代码添加到 .htaccess 中:

       <IfModule mod_rewrite.c>    
              RewriteEngine On
              RewriteBase /
              RewriteRule ^index\.php$ - [L]
              RewriteCond %{REQUEST_FILENAME} !-f
              RewriteCond %{REQUEST_FILENAME} !-d
              RewriteRule . /index.php [L]
           </IfModule>
      

      希望对其他人有所帮助!

      【讨论】:

        猜你喜欢
        • 2011-08-01
        • 1970-01-01
        • 2017-02-12
        • 2014-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多