0

1 つのコントローラー (main.php) を備えた codeigniter アプリがあります。

現在、index.php と main.php を削除するように htaccess ファイルを設定しています。

したがって、www.domain.com/index.php/main/function_name ではなく、単に www.domain.com/function_name です。

私のhtaccessファイルは次のようになります:

 <IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /


RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]


RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/main/$1 [L]

ErrorDocument 404 /index.php

ここで、サイトに大きなピースを追加する必要があります。現在、別の codeigniter アプリに組み込まれており、移動する必要があります。サイトの新しい部分は controllers/manage_emails/contacts.php... にあります。

私の質問は、ほとんどの場合、htaccess ファイルを変更して main.php を URL から削除する方法ですが、www.domain.com/manage_emails/contollername を入力すると、適切なコントローラーに移動します。

ありがとう!

4

5 に答える 5

1

.htaccess ファイルから URI ルーティングを削除し、CodeIgniter のルートにそれを任せると、アプリケーションの管理がはるかに簡単になります。

.htaccess には、標準の「index.php を削除する」コード (最後の部分で、 が含ま/mainれていない) のみが含まれている必要があります。次に、アプリケーションのルートは、残りの URL がいつ/どこに行くかを定義できます。

参考までに、2.1.x などの最新バージョンの CI を使用している場合、.htaccess にシステムおよびアプリケーション フォルダー固有のルールは必要ありません。

于 2013-04-22T02:45:56.423 に答える