URL に醜い「index.php/」が含まれないように、Kohana の .htaccess を正しく設定するにはどうすればよいですか?
質問
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]
私たちは、ウェブルートのすべての外を我々のアプリケーション、システムとモジュールのディレクトリを持っていることに注意します。
は、いくつかのホストでは、私がspecficiallyだと思う、あなたは変更する必要があります。
RewriteRule ^(.*)$ index.php/$1 [L]
タグに
RewriteRule ^(.*)$ index.php?/$1 [L]
あなたのhtaccessインチだから、基本的に使用することができます Kohanaの推奨設定する、単にindex.php/$1
とindex.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の参照を削除します。