0

codeigniterをインストールして実行していますが、すべて問題ありません。ユーザーに画像をアップロードする手段を提供したい場合を除きます。フォルダを置くことができる唯一の場所は、アプリケーションディレクトリ(私の場合は「app」に名前が変更されました)でした。ともかく。そのMVCなので、私はいたるところに書き換え条件を実行する必要があります。そして、これはシナリオの1つだと思います。

必要なのは、appフォルダー内のこのサブフォルダーで機能する条件を設定することです。

私の元の書き換え条件は

RewriteCond $1 !^(index\.php|static|robots\.txt)

これはそれらにはうまく機能しますが、この1つのケースでは機能しないので、上記で機能するがアプリ/アップロードをサポートする新しい条件が必要ですか(これも可能ですか)?

4

2 に答える 2

2

application/(Robertが述べたように)資産を外部に置いておけば、人生はずっと楽になります。

これを支援するために選択できる優れたアセット管理Sparkがたくさんあります-私は多くのビューヘルパーを提供し、構造化されたsk-assetと呼ばれる私のCIプロジェクト用に1つ作成しました:

  • / CIAppRoot
    • 資産/
      • css /
      • ダウンロード/
      • img /
      • js /
      • 以下/
      • swf /
      • アップロード/
      • xml /
    • 応用/
    • システム/

... htaccess設定は、既存のファイル/ディレクトリなどのCIルーティングをバイパスするだけです。

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On

  # block hidden directories
  RewriteRule "(^|/)\." - [F]

  RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico)
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
</IfModule>
于 2012-06-29T23:48:57.397 に答える
1

アップロードフォルダは、アプリケーションディレクトリにある必要はありません。実際、それが含まれていない方が良いです。このようにして、アプリケーションをコンテンツ(アップロード)から分離できます。このようにすれば、条件を書き直す必要もありません。これは私のCIディレクトリがどのように見えるかです:

/application
/assets
/uploads
/system     
于 2012-06-28T09:43:11.310 に答える