まず、この質問がおそらく 150 万回聞かれていることを知り、Google で検索しました。たくさんの提案を
読んで試しましたが、問題は解決しません。
これは私たちの最初の社内 CI プロジェクトです。
スケルトンの「プロジェクト」は、他の既存のプロジェクトのファイル構造によりよく一致するように、(CI の世界では) 非標準のディレクトリ ツリーで作成されました。
次のようになります。
../
/www
- index.php
/application
- /config
- /controllers
- /...etc
- /lib
- - /vendor
- - - /codeIgniter
- - - - /2-1-2
- - - - - /システム
- - - - - - /...etc
- /library
- /views
- /...etc
それを自分のマシン (WAMP) にコピーし、いくつかのコントローラーをテストしました。
すべてがうまくいくようです。唯一の問題は、URL にindex.phpがまだ必要であることです。http://localhost/project/index.php /controller/methodを必要とするのではなく、http ://localhost/project/ controller / method
を使用できるようにしたいと考えています。
AllowOverrride All
http.confにwamp/wwwがあることを確認し、 /www.htaccess
ディレクトリにファイルを追加しました...無駄に:(
### \www\.htaccess ###
# After many tries, I reverted to these simple 4 lines and stopped here
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
プロジェクトにこのエイリアスがあります
### \wamp\alias\bomProject.conf ###
Alias /bomProject/ "c:/wamp/NetBeansProjects/bomProject/www/"
<Directory "c:/wamp/NetBeansProjects/bomProject/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
Allow from all
</Directory>
このエイリアスにより、http://localhost/bomprojectでプロジェクトを正常に参照できます。/config/config.phpに
設定$config['index_page']
しました''
私もconfig.phpで変更しよ$config['base_url'] = ''
うとしました...どちらもうまくいきませんでした。$config['base_url'] = 'http://localhost/bomProject/'
私の疑いでは、問題は私たちの dir ツリーに要約されますが、私は htaccessとその問題の正規表現に慣れていないため、解決方法を知ることができません。
[編集]:
@chris-clower がconfig/routes.phpを紹介してくれたので、少し読みました。
知っておくととても良いです!私は非常に感謝しており、それらで遊んで楽しんでいます...ドキュメントによると(少なくとも私がそれをどのように理解しているか)、ルートが私の問題の解決策であるとは思いません。
「localhost/bomProject/{controller}」を試してみると ... ここで{controller}は明らかに実際のコントローラ名です ... それでも 404 エラーが発生します: 「Not Found - The requested URL /wamp/NetBeansProjects/BomProject/www 」 /index.php/{controller} がこのサーバーで見つかりませんでした。 "
[/EDIT]:
どんな助けでも大歓迎です。