devとprodという 2 つの別々のサブディレクトリで実行されている 2 つの CodeIgniter v2.1.4 プロジェクトがあります。以下はファイル構造です。
/ (root)
.htaccess (01)
- dev
- .htaccess (02)
- application
- system
- assets
- js
- css
- img
- prod
- .htaccess (03)
- applications
- system
- assets
- js
- css
- img
私がやりたいことは
- ユーザーがwww.abc.comにアクセスすると、ユーザーはwww.abc.com/prodにリダイレクトされ、 prodが URLに隠されます。
- ユーザーがwww.abc.com/prodにアクセスすると、ユーザーはwww.abc.com/prodにリダイレクトされ、prodが URL に表示されます。
- ユーザーがwww.abc.com/devにアクセスすると、ユーザーはwww.abc.com/devにリダイレクトされます。URL でdevを非表示にする必要はありません。
以下は私の.htaccess(01)です
RewriteEngine On
RewriteBase /prod
RewriteRule ^(.*)$ /prod/index.php?/$1 [L]
.htaccess (02)
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|assets|robots\.txt|changelog\.html)
RewriteRule ^(.*)$ /dev/index.php?/$1 [L]
.htaccess (03)
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|assets|robots\.txt|changelog\.html)
RewriteRule ^prod/(.*)$ /prod/index.php?/$1 [L]
問題: 現在機能していないのは、アセットフォルダー内のファイルを読み込むには、URL にdevまたはprodが必要です。
- www.abc.com/prod/assets/js/jquery.js ✔ 動く!
- www.abc.com/assets/js/jquery.js ×失敗...