Hiçbir çirkin "index.php /" var ki, doğru Kohana için. Htaccess nasıl ayarlanır

7 Cevap php

2 saat sonra, şimdi ben bunu doğru alamadım.

Kohana tesisat doğrudan benim etki altında erişilebilir, yani "http://something.org/"

Yerine http://something.org/index.php/welcomde/index I http://something.org/welcome/index gibi URL'leri istiyorum

Benim. Htaccess tamamen berbat. Aslında yükleme ile gelen standart example.htaccess bulunuyor. Neredeyse işe yaramaz. Kohana sayfada "nasıl index.php kaldırmak için" bir öğretici olduğunu. Hatta kaldırmak için nasıl hakkında konuşmak olmaz çünkü, hem de gerçekten işe yaramaz. Tamamen kafa karıştırıcı.

Birisi bir standart Kohana kurulum için yaptığı çalışma. Htaccess sağlayabilir miyiz?

7 Cevap

Benim htaccess örnek gibi görünüyor.

RewriteEngine On

RewriteBase /

RewriteRule ^(application|modules|system) - [F,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule .* index.php/$0 [PT,L]

Ama aynı zamanda config.php dosyasını değiştirmek zorunda:

$config['index_page'] = '';

Bu şu anda bizim. Htaccess dosyası olduğunu ve çalışıyor gibi görünüyor.

RewriteEngine On

# 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,L]

Bizim uygulama, sistem ve modüller dizinleri web kökünün dışında olduğunu unutmayın.

Bu mod_rewrite kuralı deneyin:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^index\.php index.php%{REQUEST_URI} [L]

Bazı ev sahipleri, CGI modunda PHP çalışırken specficially, değiştirmek zorunda düşünüyorum

RewriteRule ^(.*)$ index.php/$1 [L]

karşı

RewriteRule ^(.*)$ index.php?/$1 [L]

senin htaccess içinde. Yani temelde the kohana recommended setup, sadece index.php/$1 index.php?/$1 ile değiştirerek kullanabilirsiniz

Varsayılan. Htaccess ile OSX üzerinde "yasak hatası" 403 almak isteyenler için. Htaccess ilk satırı olarak eklemek için emin olun

Options + FollowSymLinks

Ben bu bağlantıyı bir görünüm vermek için öneririm: http://codeigniter.com/wiki/mod_rewrite/

Kohana CodeIgniter bir çatal olduğu göz önüne alındığında, belki de bu ile düzeltmek gerekir; o (CodeIgniter üzerinde) benim için çalıştı.

Kohana 3.2 farklı bir kongre var. Eğer Kohana_URL bakarsanız aşağıdaki işlevi imza bulabilirsiniz:

public static function site($uri = '', $protocol = NULL, $index = TRUE)

$ dizin DOĞRU varsayılan olduğu. Bir $ indeks YANLIŞ geçirerek siz index.php başvuruyu kaldırmak olacak.