我正在尝试在我们的应用中支持主题。
设计师使用常见的html,css,js和图像等资源创建设计。
主题打包为目录,可以在Web浏览器中单独测试,例如:
http://example.com/dir1/dir2/..../dirX/themeZ/index.html
应用程序(和其他控制器文件)的入口点位于不同的URL上,例如:
http://example.com/dir1/dir2/..../dirX/dirY/app.php
现在,app.php知道themeZ / index.html的位置并加载html文件并输出内容。问题是找不到所有“设计”相关文件,如css,js,图像等,因为路径是相对的。
我的解决方案是创建一个.htaccess文件,并有一条规则,说明所有不以'.php'结尾的请求将它们路由到themeZ路径。
我是htaccess重写的初学者。我到目前为止:
RewriteRule \.css$ ../themeZ/style.css
RewriteRule \.js$ ../themeZ/functions.js
RewriteRule \.jpg$ ../themeZ/1.jpg
[etc]
但当然这需要重大更新。它不是很动态,当切换主题时,htaccess文件需要更新 - 不好。此外,资源文件可以位于不同的子文件夹中。
有人可以提供一些指导吗?这是处理应用中主题的最佳方式吗?
答案 0 :(得分:0)
RewriteRule .*?/(.+?\.(css|js|jpg))$ /dir1/dir2/dirX/themeZ/$1 [NC,last]