问候,所有。
我正在运行与静态HTML站点并行的CI,其目录结构如下:
我在.htaccess文件中使用以下内容来获取静态文件。
RewriteEngine On
RewriteRule ^(application) - [F,L]
DirectoryIndex /static/index.html
RewriteRule ^([a-z0-9_-]+)\.html$ /static/$1.html [L]
RewriteRule ^images/([a-z0-9_-]+)\.gif$ /static/images/$1.gif [L]
RewriteRule ^images/([a-z0-9_-]+)\.jpg$ /static/images/$1.jpg [L]
RewriteRule ^css/([a-z0-9_-]+)\.css$ /static/css/$1.css [L]
RewriteRule ^js/([a-z0-9_-]+)\.js$ /static/js/$1.js [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
我把我的“资产”(图片,css等)放在静态目录结构中(因为我在CI视图中使用的大部分内容都是从现有网站借用的)。除了一件事之外,一切似乎都运转良好......
如果我希望包含一个JQuery插件,就像这样:
<script src="../../js/jquery.autocomplete.js"></script >
如果我尝试直接从浏览器地址栏中检索此文件,则不会提供此文件。
如果我将文件从“jquery.autocomplete.js”重命名为“autocomplete.js”,则可以通过浏览器地址栏中的请求检索此文件,但显然无法在我的javascript中加载并正常运行( javascript在精确调用autocomplete()函数的位置停止执行:
$("#fld").autocomplete("ajax/val", {
width: 260,
selectFirst: false
});
我已尝试过适用于/ js目录的RewriteRule规则的变体,但似乎没有任何工作 - 但我总是在.htaccess的黑暗中摸索。有人可以帮忙吗?
这是我尝试的最后一件事,它不起作用:
RewriteRule ^js/jquery\.([a-z0-9_-]+)\.js$ /static/js/jquery.$1.js [L]
感谢您的帮助。
答案 0 :(得分:1)
这是一个答案:
RewriteRule ^js/([a-z0-9_\.]+)\.js$ /static/js/$1.js [NC,L]