codeigniterとデフォルトコントローラの動作に少し問題があります。 私のCIは、localhost/web/new_infoの開発環境のサブディレクトリにあり、192.168.30.108/web/new_infoのようなプロダクション用の同じパスにあります。CodeIgniter - メインコントローラを呼び出すとサーバールートにURLがリセットされる
のようなURLを呼び出すときに
は常にローカルホスト/ウェブ/ new_info/
を歓迎ページには、例えば、サーバーのルートに私を取りますlocalhost /。
しかし、私は経由で "歓迎" コントローラを呼び出すことができます。
- はlocalhost /ウェブ/ new_info/
- はlocalhost /ウェブ/ new_info/index.phpを/歓迎
をし、私ができます歓迎のメソッドを呼び出すだけでなく同様
- はlocalhost /ウェブ/ new_info /歓迎/ログアウト
私のコントローラには、settingsという別のサブディレクトリがあり、別のwelcome.php intselfが含まれています。
- はlocalhost /ウェブ/ new_info /設定があります。htaccessファイルで、 http://www.farinspace.com/codeigniter-htaccess-file/に応じて設定するのmod_rewrite
歓迎/そこに私は問題なく、直接このコントローラにアクセスすることができ、ページがまま。
私は
...
$config['base_url'] = 'http://localhost/web/new_info/';
$config['index_page'] = '';
...
と汎用的なルート
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
XAMPPと同じように行動するのapache2実行している実サーバを持っている.htaccessの設定で
SetEnvIf Host 192.168.30.108$ CI_ENV=production
SetEnvIf Host localhost$ CI_ENV=development
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /web/new_info/
RewriteRule ^(welcome(/index)?|index(\.php)?)/?$/[L,R=301]
RewriteRule ^(.*)/index/?$ $1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ $1 [L,R=301]
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
/開発/ config.phpを方法。 mod_rewriteを完全に無効にしてからウェルカムコントローラを呼び出すと、サーバールートにリダイレクトされます。
現在、私はCI 3.0.3を使用しています。最新の3.0.6で同様の動作をテストしました。
私が欲しいのは、localhost/web/new_info/welcomeを呼び出してそこに滞在することです。 ありがとうございます!