标签: static-files

在示例 express-jade 项目中为样式表和 js 获取 404

我使用默认的 express 库在 nodejs 中创建了一个简单的静态页面。但是,当我运行它时,nodejs 无法获取公共文件并向它们抛出 404。

我相信我给出的路径是正确的。这让我发疯。我知道问题必须如此微小和简单才能值得面对,但我无法找到它。

你能在这里帮助我吗?

代码位于 github 上的 Rishavs/ComingSoonPage

感谢您的时间和帮助。

~ 里沙夫

static-files node.js http-status-code-404 express

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

如何在 PHP 中返回静态文件?

我使用一个.htaccess文件将所有请求重定向到同一个index.php. 从那里,我根据传入请求的 URL 决定要做什么。

现在,我将请求 URL映射到相对于source文件夹的目录结构,以便example.com/user/create映射到source/user/create/index.php. 位于那里的文件可以根据需要处理请求,并生成 HTML 输出。

但这不适用于静态资产,浏览器可能会请求。所以我的想法是找出请求 URL 是否以文件扩展名结尾并将其映射到相对于assets文件夹的目录结构,以便example.com/css/default.css映射到assets/css/default.css. 但我不知道如何使用静态文件而不是来自 PHP 的 HTML 代码进行响应。

通常,这可能会使用附加.htaccess规则来完成,但我想在代码中动态更改资产文件夹。

如何将服务器硬盘上给出的静态文件发送到 PHP 中的浏览器客户端?

php server-response assets httprequest static-files

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

基于 Dokku 的安装中我的静态文件在哪里?

我在 Digitalocean 服务器上完成了 Dokku 部署。我的应用程序似乎可以工作,除了我的静态文件。

以下是我的 settings.py 文件的相关部分:

PROJECT_DIR = Path(__file__).absolute().ancestor(2)

MEDIA_ROOT = ''
MEDIA_URL = ''
STATIC_ROOT = ''
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    PROJECT_DIR.child('static'),
)

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

STATIC_ROOT = PROJECT_DIR.child('staticroot')
Run Code Online (Sandbox Code Playgroud)

有人知道如何将我的应用指向基于 Dokku 的系统上的静态文件吗?

虽然它没有回答我的问题,但我们目前正在提供来自 AWS S3 的静态文件,并且有效。它使我的问题不那么紧迫,但我仍然想知道是否可以“在本地”解决它。

deployment django static-files dokku

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

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
查看次数

使用 expressjs 和 serve-static 在 Nodejs 中提供静态 .json 文件

我有以下代码:

...
var servceStatic = require("serve-static");
var app = express();

app.use(express.compress());
app.use(servceStatic('static'));
...
Run Code Online (Sandbox Code Playgroud)

不知何故,它设法为所有类型的文件提供服务,但那些以“.json”结尾的文件除外。为什么是这样?

json static-files node.js

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

Spring Boot/MVC:如何使用特殊字符在 JAR 之外提供静态文件?

我目前正在从事一个项目,我需要为驻留在文件系统上的静态文件(在 JAR 文件之外)提供服务。

我目前拥有的:

@Configuration
@ComponentScan({"some.package"})
public class MaboConfiguration extends WebMvcConfigurerAdapter {

    /* Irrelevant configs omitted */

    @Value("${application.pdfpath}")
    public String pdfPath;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/files/**")
           .addResourceLocations("file:" + this.pdfPath);

        super.addResourceHandlers(registry);
     }
} 
Run Code Online (Sandbox Code Playgroud)

这适用于配置的“pdfPath”目录中的大多数文件。现在的问题是,无法找到包含特殊字符(如:“ä”、“ö”、“ü”...)的文件,服务器返回 404。

工作文件示例(假设 pdfPath 为 /opt/tst/):

"/opt/tst/tstdir/with some space/01 - my tst pdf.pdf" -> is served under
"http://localhost:8100/contextRoot/files/tstdir/with some space/01 - my tst pdf.pdf"
Run Code Online (Sandbox Code Playgroud)

不工作文件的示例:

"/opt/tst/tstdir/with some space/01 - my ätst pdf.pdf" -> should be served under
"http://localhost:8100/contextRoot/files/tstdir/with some space/01 - my ätst pdf.pdf"
Run Code Online (Sandbox Code Playgroud)

我认为这可能是编码问题。日志显示传入的请求是正确的 URL …

java spring-mvc static-files spring-boot

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

从 jwilder/nginx-proxy 提供静态文件

我有一个 Web 应用程序(由 uwsgi 提供的 django),我正在使用 nginx 代理对特定容器的请求。这是我的 default.conf 中的相关片段。

upstream web.ubuntu.com {
server 172.18.0.9:8080;
}
server {
server_name web.ubuntu.com;
listen 80 ;
access_log /var/log/nginx/access.log vhost;
location / {
include uwsgi_params;
uwsgi_pass uwsgi://web.ubuntu.com;
}
}
Run Code Online (Sandbox Code Playgroud)

现在我希望从 nginx 而不是 uwsgi 工作人员提供静态文件。

所以基本上我想添加如下内容:

location /static/ {
autoindex on;
alias /staticfiles/;
}
Run Code Online (Sandbox Code Playgroud)

到容器自动生成的服务器块。

我相信这应该使 nginx 服务于 /staticfiles 文件夹中对 web.ubuntu.com/static/* 的所有请求。

但是由于配置(default.conf)是自动生成的,我不知道如何将上述位置动态添加到服务器块:(

我认为位置块不能在服务器块之外,每个服务器只能有一个服务器块?

所以我不知道如何在那里添加位置块,除非我在 nginx 出现后动态添加到 default.conf 然后我猜想重新加载它。

我确实通过了https://github.com/jwilder/nginx-proxy并且我只看到了一个实际更改每个主机和默认位置设置的示例。但是完全没有添加新位置。

我已经在 jwilder/nginx-proxy 的问答中发布了这个,但没有得到回应。

如果有办法实现这一点,请帮助我。

static-files docker docker-compose jwilder-nginx-proxy

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

将 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
查看次数