部署Kohana 3.3时出现错误500

时间:2013-10-26 09:14:38

标签: php routes kohana-3

我一直在谷歌搜索一个解决方案或某些东西,可以指导我部署我的Kohana 3.3网站的解决方案,但无济于事。

我对如何使路由在Kohana中工作感到困惑,我在bootstrap.php文件中完整地保留了默认路由。这里:

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

我正在使用免费的网络托管和子域名,这是我的网址:http://atosoft.neq3.com/。用上面的路线输出“你好,世界”就好了。

但是当我想进入我的管理页面时,我在这里得到一个ERROR 500:http://atosoft.neq3.com/admin。如何设置路由以使其适用于所有控制器?

我的控制器和模型中没有子目录,仅在我的视图中。

这是我的文件夹结构:

/Controller
   - Admin.php
   - Courses.php
   - Exams.php
   - Questions.php
   - Semester.php
   - User.php
   - Welcome.php

控制器/ admin.php的

class Controller_Admin extends Controller_Template {

    public $template = 'admin_template';

    public function action_index() {
        // User authentication
        $user = Auth::instance()->get_user();

        if(Auth::instance()->logged_in()) {
            // Display Dashboard here
            $dashboard = View::factory('admin/index');
            $this->template->user = $user;
            $this->template->content = $dashboard;
        } else {
            HTTP::redirect('user/login');
        }
    }
}

的.htaccess

    # Turn on URL rewriting
RewriteEngine On

# Installation directory
RewriteBase /atosoft.neq3.com/

# Protect hidden files from being viewed
<Files .*>
    Order Deny,Allow
    Deny From All
</Files>

# Protect application and system files from being viewed
# RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L]
RewriteRule ^(application|modules|system)/ - [F,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]
RewriteRule .* index.php [PT]

1 个答案:

答案 0 :(得分:1)

你的RewriteBase错了。这来自知识库:

  

您是否支持搜索引擎友好的网址?

     

是的,支持搜索引擎友好的URL,但有一个   你必须知道的重要事情:我们使用虚拟用户目录路径,所以   尝试设置搜索引擎友好的URL或时,您可能会收到错误   尝试将虚拟目录名称传递给PHP脚本。如果可以修复   很容易。编辑.htaccess文件并在顶部添加此行   该文件或第一次重写规则之前:

     

RewriteBase /

     

注意:例如,如果您的脚本安装在某个目录中   /论坛,你必须将RewriteBase / forum / line放到.htaccess   文件(.htaccess文件也必须位于/ forum目录中)

除了Kohana 3.3 also introduced support for PSR-0.之外,请浏览APPPATH / classes /中的所有文件,并在必要时重命名。例如:APPATH/classes/Controller/admin.php应为APPPATH/classes/Controller/Admin.php

那应该是它。如果您的kohana文件夹当前位于/public_html文件夹中,您可能想要对此执行某些操作。在可能的情况下,将尽可能多的文件放在Web根目录之外是个好主意。