Come impostare .htaccess per Kohana correttamente, in modo che non v'è alcuna “index.php /” brutto nell'URL?

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

  •  12-09-2019
  •  | 
  •  

Domanda

Dopo 2 ore ora non ho potuto farlo bene.

L'installazione Kohana è accessibile direttamente sotto il mio dominio, vale a dire " http://something.org/ "

Invece di http://something.org/index.php/welcomde/index voglio avere URL come http://something.org/welcome/index

Il mio .htaccess è incasinato completamente. In realtà è l'example.htaccess standard che è venuto con il download. E 'quasi inutile. Nella pagina Kohana è un tutorial "come rimuovere l'index.php". E 'davvero inutile pure, dal momento che non sarà nemmeno parlare di come rimuoverlo. Totalmente confusione.

Per favore, qualcuno può fornire la sua .htaccess di lavoro per un'installazione standard di kohana?

È stato utile?

Soluzione

Il mio .htaccess sembra che l'esempio.

RewriteEngine On

RewriteBase /

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

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

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

Ma bisogna anche cambiare il config.php file:

$config['index_page'] = '';

Altri suggerimenti

Ciò è il nostro file .htaccess in questo momento, e sembra funzionare.

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]

Si noti che abbiamo la nostra applicazione, di sistema e moduli di tutte le directory al di fuori della web root.

Su alcuni host, penso specficially durante l'esecuzione di PHP in modalità CGI, è necessario modificare

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

a

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

nel vostro .htaccess. Quindi, in pratica è possibile utilizzare il kohana consigliata configurazione , semplicemente sostituendo index.php/$1 con index.php?/$1

Prova questa regola mod_rewrite:

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

Per coloro che ottengono "errore proibito" 403 su OSX con predefinito .htaccess assicurarsi di aggiungere come la prima linea di .htaccess

Opzioni + FollowSymLinks

Kohana 3.2 ha una convenzione diversa. Se si guarda in Kohana_URL troverete la seguente firma funzioni:

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

dove l'indice $ è di default su TRUE. Con il superamento di un indice di FALSE $ si rimuove il riferimento index.php.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top