[英]Serving .js and .css files that are outside of public folder in PHP
我的項目中有這樣的結構:
[]上市
index.php
樣式.css
腳本.js
[]控制器
[]模型
[]看法
基地.html.php
[]視圖1
.htaccess
在根服務器的public文件夾中,有.js和.css文件,必須通過瀏覽器訪問。 但是,我越來越頻繁地使用 css 和 javascript 文件,特別是一個視圖。 由於 css 與 html 和 js 與 css 交互(通過選擇器),對我來說,將所有這些文件放在一個文件夾中是最簡單的(如上面示例中的 view1 文件夾)。
有沒有辦法做到這一點? 我想我最好的選擇是在主要的 controller 中行動。 當它根據 url 提供視圖時,它應該將 js 和 css 文件(或復制它們)從視圖文件夾移動到公用文件夾。 但它可以臨時移動而不是永久移動嗎? 並且它會花費大量的服務器資源嗎?
非常感謝!
Static 文件(css、js、html)應與您的公共目錄一起提供。 為什么? 因為他們是你想為客戶服務的,就像你說的。
為了向客戶端提供文件,服務器必須允許客戶端請求文件,將其放在客戶端的訪問點之外會破壞該點。
但是無論如何,為了給您一個實際問題的答案,是的,您可以通過為不存在的路徑添加重寫規則來做到這一點,例如 public 中的view1
以使用view
文件夾中的view1
路徑:
RewriteRule ^view1/(.*)$ ../view/view1/$1 [L,NC]
這會將任何請求view1/*
重寫為view/view1/*
而不是public/view1/*
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.