1

Windows 7 マシンで CI と WAMP を使用しています。サイトのアプリケーション フォルダーには.htaccess、次のファイルがあります。

RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ /index.php/$1 [L]

これはCodeIgniter User Guideをコピーして変更したものです。そして、rewrite_module (以前は mod_rewrite でしたね?) がアクティブであることを確認し、WAMP を再起動しました。私のコントローラーには、次のものがあります。

<?php

class Forum extends CI_Controller
{
public function index()
{
    $data['title'] = "Card Forums";
    $this->load->view('Header', $data);
    $this->load->model('forumdb');
    $data['sections'] = $this->forumdb->getSections();
    $this->load->view('Home', $data);
    $this->load->view('Footer');
}

public function site()
{
    $data['title'] = "Card Forums - Site";
    $this->load->view('Header', $data);
    $data['section'] = "Site";
    $this->load->view('Forum', $data);
    $this->load->view('Footer');
}
}

私が行くとき、localhost/forumそれは私が望むように正確に行います。しかし、私がそれに行こうとlocalhost/forum/siteすると、次のように表示されます:


見つかりません

要求された URL /forum/site は、このサーバーで見つかりませんでした。


私が持っているビューForumで:

<?php echo $section; ?>

最初にページにアクセスしていることを確認したいので(金曜日にこのサイトを書き始めたばかりです)、変数を表示するのは今だけです。試しlocalhost/forum/index.php/siteてみると、404エラーが発生します。

ここで非常に単純なものが欠けているような気がして、私を悩ませています。どんな助けでも大歓迎です。

4

2 に答える 2

2

更新された .htaccess ファイルは次のとおりです

RewriteEngine on
RewriteCond $1 !^(index\.php|css)
RewriteRule ^(.*)$ index.php/$1 [L]

/forum/config フォルダーで config.php を見つけ、この行を変更します

$config['index_page'] = 'index.php';

$config['index_page'] = '';

次に、あなたが述べたように、次のような関数を使用できますbase_url('css/site.css');

このタイプの htaccess ファイルで一般的に行うことの 1 つは、public というフォルダーのエントリを追加することです。私の場合は、次のようになります。

RewriteEngine on
RewriteCond $1 !^(index\.php|public)
RewriteRule ^(.*)$ index.php/$1 [L]

その後、パブリック フォルダーにすべてのアセットが保存され、htaccess ファイルに例外を追加し続ける必要がなくなります。

于 2012-04-18T16:55:01.833 に答える
1

WAMP (および私の CI プロジェクトの他のほとんどの環境) では、次の追加フラグで最もうまくいきました.htaccess

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [NC,L,QSA]

また、チェックuri_protocolインしてくださいconfig.phpPATH_INFOの代わりにに設定することで、私は最も幸運でしAUTOた。

最後に 1 つ試してみてくださいbase_url。CI は WAMP 環境で間違っていることを検出することがあります。base_urlどちらかであなたを定義してくださいconfig.php

于 2012-04-18T17:10:53.557 に答える