このURLを書き直す必要があります:
domain.com/mali_oglasi/index/1(任意の数)
に:
domain.com/mali_oglasi
私の.htaccessファイルには次のコードがあります:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
これどうやってするの?
このURLを書き直す必要があります:
domain.com/mali_oglasi/index/1(任意の数)
に:
domain.com/mali_oglasi
私の.htaccessファイルには次のコードがあります:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
これどうやってするの?
コントローラー/メソッドをデフォルトの動作とは異なる方法でマップすることだけが必要な場合は、route.php
構成ファイルを使用できます。こちらの公式ドキュメントをご覧ください:http://codeigniter.com/user_guide/general/routing.html
あなたの場合、あなたはこのようなものを持っているでしょう:
$route['mali_oglasi/index/(:num)'] = 'mali_oglasi';
コントローラの後半で、次を使用して元の数字を取得できます。
$this->uri->rsegment(3);
それ以外の :
$this->uri->segment(3);
(ここの公式ドキュメントを参照してください:http://codeigniter.com/user_guide/libraries/uri.html)
編集:
実際、パラメータを追加する必要があるときに「インデックス」セグメントを削除したいだけの場合は、私の最初の答えの逆を実行することをお勧めします。
$route['mali_oglasi/(:num)'] = 'mali_oglasi/index/$1';
その行を使用すると、「www.yourdomain.com/mali_oglasi/1」の形式のすべてのリクエストは、codeigniterによって「www.yourdomain.com/mali_oglasi/index/1」であるかのように解釈されます。つまり、コントローラー「mali_oglasi」のメソッド「index」がリクエストの処理に使用されます。
数字を取得する必要がある場合は、次を使用します。
$this->uri->segment(3);
したがって、クライアントがURL "www.yourdomain.com/mali_oglasi/index/1"に直接アクセスする必要がある場合でも、適切なuriセグメントを取得できます。(URIを書き換えた$this->uri->segment(n);
後にn番目のセグメントを提供し、URIが書き換えられる前にn番目のセグメントを提供します。)route.php
$this->uri->rsegment(n)
ユーザーを新しいURLにリダイレクトすることをお勧めします:
コントローラmali_oglasi
内>>関数内index
以下の行を入れてください
redirect('mali_oglasi');
例えば
クラスmali_oglasiはCI_Controller{を拡張します
function Index($id){
// Note : make sure you have loaded the url helper
redirect('mali_oglasi');
}
}
注:ロードすることを忘れないでくださいurl helper
注:$config['index_page'] = '';
の代わりに 設定index
するapplication/config/config.php