标签: static-files

如何以编程方式禁用iis 6中的Etags

我试图在iis 6上关闭Etags因为我加载了多个服务器,我不希望etag成为问题.

iis-6 metadata static-files

6
推荐指数
1
解决办法
1271
查看次数

允许用户更改模板的最佳方法是什么?

在我的一个项目中,我的用户将拥有我网站的专用部分({username} .example.org).在该子域中,我计划允许他们轻松地更改设计.我看了一些已经做过的在线网站,比如Tumblr,PosterousShopify.

关于这个应用程序的语言,我用Django开始,我成功实现了"基于url名称的模板呈现,默认为回退"(http://someuser.example.com将在templates/someuser /中加载模板)*或在模板/通用/*中如果没有在第一个中找到).但是如果它们更适合我的需要,我可以将它导出到PHP或Play!Framework.

使用的模板引擎是Jinja2,因为它像Django模板引擎一样简单,易于学习和安全(没有Python coode可以(通常应该!)执行).

以下是我发现的每种解决方案的优缺点.我真的很感激你对此的看法以及你会采取哪种方式,为什么.谢谢.

注意:用户将对HTML/CSS有很好的了解.

改变变量(如标题颜色等)

  • 优点:

    1. 简单安全
  • 缺点:

    1. 太有限了,想要个性化他的网站的用户将无法使用此解决方案

只上传CSS

  • 优点:

    1. 易于集成
    2. 安全
  • 缺点:

    1. 有限
    2. 存储用户图像的位置?(徽标,背景,一些渐变等)

允许用户编辑模板(存储在数据库中)

  • 优点:

    1. 变化更重要
    2. 用户(几乎)可以自由地做任何他想做的事情(实现GA,FeedBurner等)
  • 缺点:

    1. 他们把静态文件放在哪里(logo,background-image,一些特效(渐变))?
    2. 模板存储在数据库中,对于每个显示的页面,需要多一个SQL请求

允许用户编辑模板(存储在文件中)

  • 优点:

    1. 变化更重要
    2. 用户(几乎)可以自由地做任何他想做的事情(实现GA,FeedBurner等)
    3. 可以启用FTP访问,在用户的模板目录中生根.
  • 缺点:

    1. 静态文件也存在同样的问题

另外,我遇​​到的问题是如何处理静态文件(图像,css,js):我看不到如何在Apache(或NGinx)中定义一个虚拟主机,它会请求数据库查看哪个用户属于这个网址.

谢谢你的帮助,我感谢!

templates static-files

6
推荐指数
1
解决办法
905
查看次数

在Application_BeginRequest期间检查静态文件?

我有一个Global.asx文件,需要进行自定义身份验证,审核和分析.这是必需的,因为它支持基于SAML的SSO系统,需要覆盖正常的.Net身份验证(不支持SAML或混合身份验证)

我不想启动它的静态文件,如.js,.css,.png,等

在Cassini/WebDev和IIS7中确实如此.

我想要的是一些简单的检查,比如this.Request.IsStaticFile(不幸的是,它不存在)来识别静态文件.

我意识到编写它会相当简单,但感觉就像已经存在的东西 - IIS已经为静态文件应用了缓存策略等等.

我需要一个代码解决方案,而不是IIS配置更改一个.

更新

这是我目前的解决方法:

/// <summary>Hold all the extensions we treat as static</summary>
static HashSet<string> allowedExtensions = new HashSet<string>(StringComparer.OrdinalIgnoreCase)
{
    ".js", ".css", ".png", ...
};

/// <summary>Is this a request for a static file?</summary>
/// <param name="request">The HTTP request instance to extend.</param>
/// <returns>True if the request is for a static file on disk, false otherwise.</returns>
public static bool IsStaticFile(this HttpRequest request)
{
    string fileOnDisk = …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc static-files global-asax

6
推荐指数
1
解决办法
3596
查看次数

MVC5中的WWWROOT

如何在ASP.NET MVC5中使用静态文件实现相同的行为,例如它在aspnet-core上的正常工作app.UseDefaultFiles(); app.UseStaticFiles();

我的意思是从根目录下的某个文件夹提供静态文件,例如/wwwroot/some.html必须在mysite.com/some.html,等等上/wwwroot/img/test.jpg打开mysite.com/img/test.jpg

更新:我已经创建了wwwroot文件夹,并将以下规则添加到web.config

<system.webServer>
    <rewrite>
      <rules>
        <rule name="Rewrite Static" stopProcessing="true">
          <match url="^(?!(wwwroot/|api/))(.*)$" ignoreCase="true"></match>
          <action type="Rewrite" url="/wwwroot/{R:1}" />
        </rule>
      </rules>
Run Code Online (Sandbox Code Playgroud)

所以,IIS必须返回文件wwwroot除了当来电去/api/something,但我一直都想与index.htmlwwwroot文件夹中,从来没有其他文件。Api的网址效果很好。
我做错了什么?

iis asp.net-mvc url-rewriting static-files asp.net-mvc-5

6
推荐指数
1
解决办法
174
查看次数

如何在Heroku中使用Python webapp2处理静态文件?

我现在将我的小型Google App Engine应用程序迁移到Heroku平台.我实际上并没有使用Bigtable,并且webapp2大大降低了我的迁移成本.

现在我一直坚持处理静态文件.

有没有好的做法?如果是的话,请带我到那里.

提前致谢.

编辑

好吧,我现在正在使用paste我的WSGI服务器.而且paste.StaticURLParser()应该是什么我需要实现静态文件处理程序.但是我不知道如何将它与它集成webapp2.WSGIApplication().谁能帮助我?

也许我需要覆盖webapp2.RequestHandler类才能paste.StaticURLParser()正确加载;

import os
import webapp2
from paste import httpserver

class StaticFileHandler(webapp2.RequestHandler):
    u"""Static file handler"""

    def __init__(self):
        # I guess I need to override something here to load
        # `paste.StaticURLParser()` properly.
        pass

app = webapp2.WSGIApplication([(r'/static', StaticFileHandler)], debug=True)


def main():
    port = int(os.environ.get('PORT', 5000))
    httpserver.serve(app, host='0.0.0.0', port=port)

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

python heroku static-files webapp2

5
推荐指数
1
解决办法
3298
查看次数

Flask html js css img 参考404错误

我有一个大型网站,在各个 html 页面中包含数百个 href=".html、href="css/、href="img/ 和 src="js/ 引用。我已将所有 css、js、img、声音等文件夹放在“static”文件夹中,并将所有 html 文件放在“模板文件夹”中。

我不想浏览所有 html 文件并使用 Flask 的“url_for”函数手动编辑每个 href。

有没有一种方法可以让我保留现有的 html 文件并告诉 Flask 使用这些 html 文件中定义的 css/、js/ 和图像路径?

现在以下代码会导致一堆 404 错误

import os
from flask import Flask, render_template

PROJECT_PATH = os.path.dirname(os.path.realpath(__file__))

app = Flask(__name__,
    template_folder=os.path.join(PROJECT_PATH, 'templates'),
    static_folder=os.path.join(PROJECT_PATH, 'static')
)

@app.route('/')

def index():            
    return render_template('index.html')

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080, debug=True)
Run Code Online (Sandbox Code Playgroud)

好的,根据 Martijn 的脚本,我使用以下代码运行了我的网站。但是,为了捕获 index.html 文件中的许多 href=someHTMLfile.html 链接,我添加了 @app.route('/')。我想知道是否有更好的方法来做到这一点?

from flask import Flask, render_template, safe_join, send_from_directory

app = Flask(__name__)

@app.route('/<any(css, js, img, fonts, …
Run Code Online (Sandbox Code Playgroud)

python static-files flask

5
推荐指数
1
解决办法
2519
查看次数

Windows 上的 Node.js + Express.js:静态文件最多等待两分钟?

我在使用 Node.Js/Express.js 的 Windows 环境中遇到问题,静态 JS 文件可以在浏览器中标记为“待处理”(禁用缓存)长达两分钟,之后它们似乎可以正常下载. 这通常发生在几次刷新后。

没有显示任何错误,所以我不确定如何进一步调查。相同的代码在 Mac OSX 环境中运行良好。

Node 版本是 v0.10.31,Express 是 4.8.5。

静态文件的代码是:

app.use(express.static(path.join(__dirname, 'public')));
Run Code Online (Sandbox Code Playgroud)

Chrome DevTools 显示:

Chrome 开发者工具截图

javascript static-files node.js express

5
推荐指数
1
解决办法
937
查看次数

如何通过 nginx 映像从 php-fpm 映像提供静态文件

我有一个基于 Symfony 框架的网络应用程序。

我有一个 php-fpm 图像,其中包含所有 php 和 asset 文件。

现在我想通过 nginx 容器提供文件。php部分很简单。但是我如何提供 php-fpm 图像中包含的静态文件呢?

我尝试创建一个由两个容器安装的卷。但是,在首次启动后,docker 将文件从映像复制到卷中后,在我更新映像后,文件不再更新。

我可以在容器启动后将文件从第二个目录复制到卷中以解决此问题,但我不希望产生这种开销。

有谁知道我可以共享静态文件,以便它们可以直接由 nginx 容器提供服务吗?

我的码头工人组成:

version: '3'
services:
    nginx:
        image: nginx:1.15-alpine
        ports:
            - "80:80"
            - "443:443"
        volumes:
            - ./data/nginx:/etc/nginx/conf.d
            - ./data/certbot/conf:/etc/letsencrypt
            - ./data/certbot/www:/var/www/certbot
            - static-content:/var/www/app/web
        command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"

    php:
        image: pbnl/scotoobo-php:dev
        volumes:
            - static-content:/var/www/app/web
        environment:
            - database_host=db
volumes:
  static-content:
Run Code Online (Sandbox Code Playgroud)

我的 Dockerfile

FROM php:7.1-fpm
RUN usermod -u …
Run Code Online (Sandbox Code Playgroud)

php nginx static-files docker docker-compose

5
推荐指数
0
解决办法
1024
查看次数

将 Blazor WASM 移动到子目录(基本目录静态文件)

我想制作一个应用程序,我需要基域上的静态页面和子目录上的 Blazor 应用程序。

例子:

https://example.com 是我的静态页面应该在哪里(如“/features”或“/pricing”或“/faq”)

https://example.com/app 应该是我的 blazor 网站所在的地方。

我已经看到我可以传入一个PathStringtoapp.UseBlazorFrameworkFiles但这不起作用 ( app.UseBlazorFrameworkFiles(new PathString("/app"))。我的 Blazor 应用托管在带有 gRPC 的 .NET 5 WebApi 项目上。

有人可以指出我如何实现这一目标的正确方向吗?

提前致谢!

.net routes static-files blazor blazor-webassembly

5
推荐指数
1
解决办法
556
查看次数

Spark Java 在虚拟文件位置提供静态文件

Express 能够在不同的虚拟位置提供静态文件:

app.use('/static', express.static('public'))
Run Code Online (Sandbox Code Playgroud)

但是,我在使用 Spark Java 的服务器上使用 Java。我知道如何提供静态文件,但 Spark Java 是否可以在虚拟位置提供静态文件?如果可能,如何?我已经搜索了一段时间,但我找到的所有教程都只是告诉我如何提供静态文件,而不是在虚拟位置提供静态文件。

编辑:“虚拟位置”的解释:假设这是当前目录:

public/
|-----index.html
|-----style.css
|-----etc...
Run Code Online (Sandbox Code Playgroud)

然后,我们可以http://localhost:8080/public/index.html
http://localhost:8080/somedir/virtual/pathindex.html

java static-files spark-java server

5
推荐指数
1
解决办法
95
查看次数