2

まず、この質問がおそらく 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 Allhttp.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]:

どんな助けでも歓迎です。

4

1 に答える 1

0

/application/config/routes.php次のように、ルートを調べてそこに追加する必要があります。

$route['default_controller'] = 'index';
$route['admin'] = 'admin/index/';
$route['admin/(:any)'] = 'admin/$1';
$route['forum'] = 'forum/index/';
$route['(:any)'] = 'index';
$route['404_override'] = '';

あなた.htaccessの に関しては、それは問題なく見え、これに変更を加える必要はありません。

于 2012-08-10T00:06:42.590 に答える