Comment mettre en place .htaccess pour Kohana correctement, de sorte qu'il n'y a pas laid « index.php / » dans l'URL?

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

  •  12-09-2019
  •  | 
  •  

Question

Après 2 heures maintenant, je ne pouvais pas le droit.

L'installation Kohana est accessible directement sous mon nom de domaine, à savoir " http://something.org/"

Au lieu de http://something.org/index.php/welcomde/index Je veux avoir des URL comme http://something.org/welcome/index

Mon .htaccess est foiré complètement. Il est en fait le example.htaccess standard fourni avec le téléchargement. Il est presque inutile. Sur la page kohana est un tutoriel « comment supprimer le index.php ». Il est vraiment inutile aussi bien, car il parlera même pas sur la façon de l'enlever. confusion totalement.

S'il vous plaît, quelqu'un peut-il fournir à son .htaccess de travail pour une installation standard kohana?

Était-ce utile?

La solution

Mon htaccess ressemble à l'exemple.

RewriteEngine On

RewriteBase /

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

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

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

Mais il faut aussi changer le fichier config.php à:

$config['index_page'] = '';

Autres conseils

Ceci est notre fichier .htaccess en ce moment, et il semble fonctionner.

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]

Notez que nous avons notre application, les répertoires système et tous les modules en dehors de la racine web.

Sur certains hôtes, je pense que specficially lors de l'exécution PHP en mode CGI, vous devez changer

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

à

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

dans votre htaccess. Donc, fondamentalement, vous pouvez utiliser de configuration kohana recommandé, remplaçant simplement index.php/$1 avec index.php?/$1

Essayez cette règle mod_rewrite:

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

Pour ceux qui sont « erreur interdite » 403 sur Mac OS X avec défaut .htaccess assurez-vous d'ajouter la première ligne dans .htaccess

Options + FollowSymLinks

Kohana 3.2 a une autre convention. Si vous regardez dans Kohana_URL vous trouverez la signature de la fonction suivante:

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

où l'indice $ est par défaut à TRUE. En passant un indice de $ FAUX vous allez supprimer la référence index.php.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top