簡體   English   中英

Serving.js 和 .css 文件位於 PHP 中的公用文件夾之外

[英]Serving .js and .css files that are outside of public folder in PHP

我的項目中有這樣的結構:

[]上市

  • index.php

  • 樣式.css

  • 腳本.js

[]控制器

[]模型

[]看法

  • 基地.html.php

  • []視圖1

    • 視圖1.html.php
    • 查看1.css
    • view1.js

.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM