0

我需要访问页面中的图像、css 和 js 文件,但我不知道编写所需的 .htaccess 文件。

我正在使用 CodeIgniter。

矿井文件夹层次结构:

   /简历
    |__ carao_virtual
    | |
    | |__ 厘米
    | | |__ 资产
    | | | |
    | | | |__ **css**
    | | | | |__ **图片**
    | | | |
    | | | |__ **js**
    | | |   
    | | |__ 控制器
    | | |__ 型号
    | | |__ 次观看
    | |   
    | |__ 网站
    | |__ 资产
    | | |
    | | |__ CSS
    | | | |__ 图片
    | | |
    | | |__ js
    | |   
    | |__ 控制器
    | |__ 型号
    | |__ 次观看
    |      
    |__ 系统
    |
    |__.htacess
    |__ site.php(默认 CodeIgniter index.php)
    |__ cms.php(默认 CodeIgniter index.php)

我当前的 .htaccess 是:

    RewriteCond $1 !^(cms\.php|cms|assets)
    RewriteRule ^cms$ cms.php [L]
    重写规则 ^cms/(.*)$ cms.php/$1 [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    重写规则 ^(.*)$ site.php/$1 [L]

有了它,我就可以访问 cms 和站点控制器以及您的方法,并且我希望保持这样。

我在想像:

    重写引擎开启
    RewriteCond $1 !^(cms\.php|cms)
    RewriteRule ^cms$ cms.php [L]
    重写规则 ^cms/(.*)$ cms.php/$1 [L]

    RewriteCond $1 !^(^cms/assets|site/assets)
    RewriteCond %{REQUEST_FILENAME} !-f
    重写规则 ^(.*)$ site.php/$1 [L]

    RewriteCond $1 !^(网站/资产)
    RewriteRule ^site/assets/(.*)$ cartao_virtual\/site\/assets\/$1 [L]

    RewriteCond $1 !^(cms/assets)
    RewriteRule ^cms/assets/(.*)$ cartao_virtual\/cms\/assets\/$1 [L]

先谢谢了。

4

1 回答 1

2

无论您在哪里重写(.*),都需要以下重写条件才能不包含真实文件。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

现在,您无意中重定向了所有流量,无论文件或目录是否存在,但一条规则除外。

于 2013-06-07T17:04:59.073 回答