2009-12-10 4 views
0

Я развертываю свой сайт, используя kohana, это тестовый сайт -localhost/koh , и я использую htaccess для удаления индекса. Я могу успешно поместить его в нечто вроде www.site.com/koh, но я боюсь поместить его в корневую папку и заставить его работать с htaccess или как заставить его работать, помещая индекс в root и сохранить все остальные файлы в папке koh? Кто-нибудь может помочь? благодаряkohana deployment

+0

Что вы имеете в виду, борясь? Что вы делаете и что не работает? –

ответ

0

Предполагая, что вы работаете v3 ... эти шаги должны получить вас в правильном направлении:

Место index.php в папке, в которой вы хотите, чтобы Kohana запускался (в вашем случае, в корневой общедоступной папке html).

В index.php убедитесь, что пути для $ application, $ modules и $ system верны. (Они могут быть абсолютными или относительными (из местоположения index.php.)) Например, чтобы сохранить папку приложения прямо над веб-корнем, вы должны использовать «../application» и т. Д. Для модулей и системы.

В bootstrap.php убедитесь, что base_url установлен для вашей среды (установите его на "/").

Наконец, убедитесь, что в RewriteBase в .htaccess установлено значение «/».

0

В вашем случае это то, что ваш индексный файл должен выглядеть и быть помещены в корневой папке:

/** 
* The directory in which your application specific resources are located. 
* The application directory must contain the bootstrap.php file. 
* 
* @see http://kohanaframework.org/guide/about.install#application 
*/ 
$application = './koh'; 

/** 
* The directory in which your modules are located. 
* 
* @see http://kohanaframework.org/guide/about.install#modules 
*/ 
$modules = './koh/modules'; 

/** 
* The directory in which the Kohana resources are located. The system 
* directory must contain the classes/kohana.php file. 
* 
* @see http://kohanaframework.org/guide/about.install#system 
*/ 
$system = './koh/system'; 

Проверьте мой HTAccess ниже пример того, что ваш должен выглядеть. Mine - это модифицированная версия example.htaccess. Силы 301 перенаправляются на uri без косых черт.

Вот как я структурировал свое развертывание для Kohana. Это позволяет вам иметь несколько приложений, используя один набор основных файлов.

www/ 
    apps/ 
    web/ 
     cache/ 
     classes/ 
     config/ 
     logs/ 
     media/ 
     messages/ 
     pub/ 
     index.php 
     .htaccess 
     robots.txt 
    lib/ 
    modules/ 
    system/ 

вот мой модифицированного .htaccess

# Turn on URL rewriting 
RewriteEngine On 

# Installation directory 
RewriteBase/

RewriteCond %{REQUEST_URI} (.*)$ 
RewriteRule ^(.+)/$ /$1 [R=301,L] 

# 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 - [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] 

Вот соответствующие строки в index.php

/** 
* The directory in which your application specific resources are located. 
* The application directory must contain the bootstrap.php file. 
* 
* @see http://kohanaframework.org/guide/about.install#application 
*/ 
$application = '../'; 

/** 
* The directory in which your modules are located. 
* 
* @see http://kohanaframework.org/guide/about.install#modules 
*/ 
$modules = '../../../lib/modules'; 

/** 
* The directory in which the Kohana resources are located. The system 
* directory must contain the classes/kohana.php file. 
* 
* @see http://kohanaframework.org/guide/about.install#system 
*/ 
$system = '../../../lib/system'; 

NB: Эта установка требует, чтобы настроить веб-сервер для доступа к каждому приложению ,