URL に醜い「index.php/」が含まれないように、Kohana の .htaccess を正しく設定するにはどうすればよいですか?

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

  •  12-09-2019
  •  | 
  •  

質問

2時間経っても、うまく理解できませんでした。

Kohana インストールには、私のドメインの下で直接アクセスできます。」http://something.org/"

の代わりに http://something.org/index.php/welcomde/index のようなURLが欲しいです http://something.org/welcome/index

私の .htaccess は完全に壊れています。これは実際には、ダウンロードに付属する標準の example.htaccess です。それはほとんど役に立たない。kohanaページに「index.phpの削除方法」というチュートリアルがあります。削除方法についても言及しないので、これも本当に役に立ちません。まったく混乱しています。

誰かが標準の kohana インストール用に動作する .htaccess を提供してもらえますか?

役に立ちましたか?

解決

私のhtaccessは例のようになります。

RewriteEngine On

RewriteBase /

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

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

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

ただし、変更する必要もあります config.php ファイルの宛先:

$config['index_page'] = '';

他のヒント

これが今の私たちの.htaccessファイルであり、それが動作しているようだ。

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]

私たちは、ウェブルートのすべての外を我々のアプリケーション、システムとモジュールのディレクトリを持っていることに注意します。

CGIモードでPHPを実行するとき、

は、いくつかのホストでは、私がspecficiallyだと思う、あなたは変更する必要があります。

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

タグに

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

あなたのhtaccessインチだから、基本的に使用することができます Kohanaの推奨設定する、単にindex.php/$1index.php?/$1を置き換える

このmod_rewriteのルールを試します:

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

.htaccessファイルの最初の行として追加してください.htaccessのデフォルトでOSX上の「禁止エラー」403を取得する人のために、

オプション+ FollowSymLinksを

Kohanaの3.2は、異なる慣習があります。あなたはKohana_URLに見える場合は、次の関数のシグネチャを見つけることができます:

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

$インデックスがTRUEにデフォルトです。 $インデックスFALSEを渡すことによって、あなたはindex.phpの参照を削除します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top