Como configurar o .htaccess para Kohana corretamente, de modo que não há “index.php /” feio na URL?

StackOverflow https://stackoverflow.com/questions/966429

  •  12-09-2019
  •  | 
  •  

Pergunta

Depois de 2 horas, agora eu não poderia obtê-lo direito.

A instalação Kohana é acessível diretamente sob meu domínio, ou seja, " http://something.org/ "

Em vez de http://something.org/index.php/welcomde/index Eu quero ter URLs como http://something.org/welcome/index

O meu .htaccess é confuso completamente. É realmente o example.htaccess padrão que veio com o download. É quase inútil. Na página kohana é um tutorial "como remover o index.php". É realmente inútil, bem como, uma vez que não vai mesmo falar sobre como removê-lo. Totalmente confuso.

Por favor, alguém pode fornecer seu .htaccess a trabalhar para uma instalação kohana padrão?

Foi útil?

Solução

As minhas htaccess se parece com o exemplo.

RewriteEngine On

RewriteBase /

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

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

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

Mas você também tem que mudar a config.php arquivo para:

$config['index_page'] = '';

Outras dicas

Este é o nosso arquivo .htaccess agora, e parece estar funcionando.

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]

Note que temos a nossa aplicação, sistema e módulos de diretórios todos fora da raiz web.

Em alguns hospedeiros, acho specficially quando rodando o PHP em modo CGI, você tem que mudar

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

para

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

na sua htaccess. Então, basicamente, você pode usar o kohana recomendado configuração , simplesmente substituindo index.php/$1 com index.php?/$1

Tente esta regra mod_rewrite:

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

Para aqueles que se 403 "erro proibido" na OSX com padrão .htaccess se esqueça de adicionar como a primeira linha no .htaccess

Opções + FollowSymLinks

Kohana 3.2 tem uma convenção diferente. Se você olhar no Kohana_URL você encontrará a seguinte assinatura de função:

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

onde $ index é padrão para TRUE. Ao passar um FALSE $ index você vai remover a referência index.php.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top