2012-04-01 14 views
3

CodeIgniter beginner here。私のウェブサイトのベースURLは「http://localhost/routing/」です。CodeIgniterは常にindex.php経由でルーティングしますか?

// config.php 
$config['base_url'] = 'http://localhost/routing/'; 

私は単純に次のルールを使用して管理コントローラにルーティングする「http://localhost/routing/admin」をURLをしようとしているが、それは動作しません。代わりに、私は 'http://localhost/routing/index.php/admin'を使用する必要があります。

$route['default_controller'] = 'seasons'; 
$route['admin'] = 'admin'; 
$route['404_override'] = ''; 

質問:URLから 'index.phpの' を削除する方法はありますか?

答えて

4

URLから「index.php」を削除する方法はありますか?

はい、だけでなくvery popular question on SOあるとして、(非常に良いですし、私は非常に読書をお勧めする)in the CodeIgniter documentationを覆われています。

+0

私は 'RewriteRule ^(。*)$ /index.php/$1 [L]'の代わりに 'RewriteRule(。*)$ index.php'を使って次のルールを使用しなければなりませんでした。 –

+2

私はCodeIgniterチームがこの奇妙な要件を取り除くべきであると思っていますが、リンクを提供してくれてうれしいですが、少なくとも入門チュートリアルで説明するのではなく、 "index.php"彼らのURLの真ん中から始める...:S –

+0

@春陽私は同じことを考えていた。しかし、それはもう少しルーティングに目を向けてくれました。 – Shane

0

あなたの.htaccessにこれを書いてください。また、追加情報を探してください:Codeigniter Guide

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|robots\.txt) # exceptions 
RewriteRule ^(.*)$ /index.php/$1 [L] 
5

は、.htaccessファイルとのconfig.php

アプリケーション/ config.phpの

$config['index_page'] = ''; 

の.htaccess

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php/$0 [PT,L] 
で変更を行います。
関連する問題