我正在开发具有以下结构的基于模板的 CMS:
/public_html/admin/
^ 包含所有 CMS 文件和函数等。
/public_html/user_html/
^ 是客户端通过 FTP 访问并管理所有客户端文件(即 html、javascript、css、jpg、png 等)的目录,但不允许添加服务器端文件(即 php 等)的权限。
/public_html/index.php
^ 是驱动站点/应用程序本身的公共根目录,index.php 是该目录中唯一的文件,它处理 URI 请求并运行应用程序。
进一步了解系统和结构:它的设置使得其中的所有 html 文件都user_html
充当系统某些模块的模板/布局 - 这些文件具有自定义标签以输出系统功能,并且服务器从中读取所有文件和文件夹user_html
在请求时将它们输出到应用程序。
这一切都很好,而且很受欢迎。我在这里想要实现的是隐藏user_html
所有 URL 浏览器请求。所以基本上html页面中的所有路径都必须像这样读取才能工作:
src="/user_html/js/scripts.js",
src="/user_html/css/styles.css"
src="/user_html/images/logo.png"
而用户/客户端在创建和编辑 html 页面时输入的所需路径如下:
src="/js/scripts.js"
src="/css/styles.css"
src="/images/logo.png"
客户端可以完全控制目录中的目录和文件user_html
,因此所有文件路径都将永远改变。基本上,浏览器需要知道所有文件和这些文件所在的目录user_html
,但要像它们所在的位置一样显示public_html
。
如果有人有一个简单的答案,使用 htaccess 路由所有 URI 请求,除了 .php 文件和/admin/
目录到user_html
,或任何其他想法和想法,将不胜感激。
我已经进行了广泛的搜索,但找不到我所追求的解决方案。但是我确信这将是一个非常简单的 RewriteCondition 和 RewriteRule。