我有两个 CodeIgniter v2.1.4 项目在 2 个单独的子目录中运行,即dev和prod。下面是文件结构:
/ (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 ×失败...