我需要在我的页面中访问图像,css和js文件,但我不知道需要写.htaccess文件。
我正在使用CodeIgniter。
我的文件夹层次结构:
/cv |__ cartao_virtual | | | |__ cms | | |__ assets | | | | | | | |__ **css** | | | | |__ **images** | | | | | | | |__ **js** | | | | | |__ controllers | | |__ models | | |__ views | | | |__ site | |__ assets | | | | | |__ css | | | |__ images | | | | | |__ js | | | |__ controllers | |__ models | |__ views | |__ system | |__.htacess |__ site.php (default CodeIgniter index.php) |__ cms.php (default CodeIgniter index.php)
我目前的.htaccess是:
RewriteCond $1 !^(cms\.php|cms|assets) RewriteRule ^cms$ cms.php [L] RewriteRule ^cms/(.*)$ cms.php/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ site.php/$1 [L]
有了它,我只能访问cms和站点控制器以及你的方法,我想保持这样。
我想象的是:
RewriteEngine on RewriteCond $1 !^(cms\.php|cms) RewriteRule ^cms$ cms.php [L] RewriteRule ^cms/(.*)$ cms.php/$1 [L] RewriteCond $1 !^(^cms/assets|site/assets) RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ site.php/$1 [L] RewriteCond $1 !^(site/assets) RewriteRule ^site/assets/(.*)$ cartao_virtual\/site\/assets\/$1 [L] RewriteCond $1 !^(cms/assets) RewriteRule ^cms/assets/(.*)$ cartao_virtual\/cms\/assets\/$1 [L]
先谢谢。
答案 0 :(得分:2)
您重写的任何地方(.*)
您需要以下重写条件才能包含真实文件。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
现在,无论文件或目录是否存在,您都无意中重定向所有流量,但一条规则除外。