apache - 如何 : rewrite requests for images, css 和 js 到每个应用程序的不同文件夹?

标签 apache mod-rewrite codeigniter

我正在尝试构建一个多应用程序 CodeIgniter 站点,其中所有应用程序的 Assets 将存储在一个名为“ Assets ”的文件夹中。在这个文件夹中,每个应用程序都有自己的 Assets 文件夹。所以,如果这是我的根目录......

用户指南
apps_folder(这是我所有应用程序文件夹所在的位置)
系统
Assets

... Assets 文件夹将这样组织:

Assets
我的应用程序1
js
图片
css
媒体

这是我的挑战。我正在尝试编写一个 apache 指令,它将对以 css、js、png 和 gif 结尾的文件的所有请求重写到该应用程序的相应 Assets 目录。但是用户无法知道这些 Assets 在服务器中的确切位置。给你一个例子:

这是请求:www.myapp1.com/js/jquery.js

该文件位于:assets/myapp1/js

该指令将检查
a) 域地址
b) 文件扩展名

...并且基于这些变量,将重写 url,从而隐藏 Assets 的真实位置,并使引用 Assets 成为可能,就好像它们都位于网站的根目录一样。有没有人做过这样的事情?

谢谢,

最佳答案

这是完全可能的。请参阅 Apache 重写指南:

http://httpd.apache.org/docs/1.3/misc/rewriteguide.html

您的规则将如下所示:

RewriteCond   %{HTTP_HOST}  \.myapp1\.com$
RewriteRule  ^/js/(.*)\.js$ assets/myapp1/js/$1

玩得开心!

关于apache - 如何 : rewrite requests for images, css 和 js 到每个应用程序的不同文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1056287/

相关文章:

apache - 从 Laravel 的 URL 中删除 index.php

mysql - Codeigniter mysql 哪里不等于查询

mysql - 在JSP中使用JSTL显示具有连接的查询结果

apache - 将 "static"子域别名限制为非 HTML 文件,否则重定向到 "www"

apache - mod_rewrite用于尾部斜杠问题

codeigniter 区分 JOINed 表中的字段名称

php - 没有 LIMIT 子句的 codeigniter 事件记录获取查询和查询

javascript - 为什么我从 Express 服务器收到 "404 cannot POST"错误?

html - “background-image” 样式在 IE 11 中不起作用

php - XAMPP 一直显示仪表板/欢迎页面而不是配置页面