私は、1 つのシステムフォルダーを共有するappとsiteという 2 つのアプリを含む Codeigniter ベースのシステムを使用しています。前者にはバックエンドがあり、後者にはフロントエンドがあります。このため、index.php はデフォルトでsiteになり、バックエンドにアクセスするための別の場所があります。app.php
http://localhost/subdirectory/
フロントエンドに行きますが、バックエンドにアクセスするにはhttp://localhost/subdirectory/app.php
.
index.phpを削除する方法についてユーザー ガイドを参照しましたが、フロントエンドで動作します。たとえば、aboutの引数を使用して、サイトフォルダーのページクラスにhttp://localhost/subdirectory/pages/about
正常に移動します。
問題は、ログイン ページにアクセスしようとすると、URI が を指していることhttp://localhost/subdirectory/app.php/auth/login
です。入力http://localhost/subdirectory/app/auth/login
すると、403 Forbidden ページが返されます。フォルダーのindex.htmlであると思います 更新: appに存在する .htaccess が原因であることがわかりました。
app.php部分を削除するにはどうすればよいですか?
私のアプリケーション構造は次のとおりです。
app
| - cache, config, controllers, views, and other related CI folders
site
| - cache, config, etc, like app
system
| - CI's system folder
app.php
index.php
.htaccess
そして、これが私の現在の.htaccessです:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(app)/(.*)$ app.php/$1 [NC,L]
RewriteRule ^(.*)$ index.php/$1 [NC,L]
それはうまくいきません。
何か助けはありますか?ありがとうございました!
更新: 403 表示が禁止されているのは、index.htmlだけでなく、「すべて拒否」のコンテンツを含む .htaccess が原因です。これが役立つかどうかはわかりません。