html 错误404当加载子文件夹在谷歌应用引擎

y1aodyip  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(65)

我有一个网站与一个index.html作为一个网页,工作正常,但我想创建一个网站结构与子文件夹,所以我创建了一个名为“团队”的文件夹。
在“team”中,我放了一个包含团队信息的index.html文件。当我加载www.mysite.com/team/index.html时,它工作正常,但如果我加载www.mysite.com/team,我会得到404错误。
如何修复此问题以自动加载子文件夹中的index.html??
我使用Google应用引擎作为服务器,我用Google应用引擎启动器上传文件,并使用一些Python文件。

mepcadol

mepcadol1#

app.yaml中,像这样定义静态文件处理程序:

…
handlers:
- url: /static
  static_dir: static
- url: /(.*?)/?
  static_files: \1/index.html
  upload: (.*?)/index.html
…

字符串
请注意,由于您是这样定义网站结构的,因此除了index.html文件之外,您将无法访问任何其他文件。例如,如果您转到/images/logo.png,App Engine将尝试从静态文件images/logo.png/index.html提供服务。
要解决这个问题,您需要将所有静态文件放在一个不同的子目录中(在上面的示例中是/static),并将其作为static_dir。然后,您应该将index.html文件中的文件引用为/static/images/logo.png等。

UPDATE:因为你的app.yaml在评论中格式不对,所以我把它粘贴到这里:

handlers:
- url: /(.*\.(gif|png|jpg|ico|js|css|php|xml))
  static_files: \1
  upload: (.*\.(gif|png|jpg|ico|js|css|php|xml))

- url: /robots.txt
  static_files: robots.txt
  upload: robots.txt 

- url: /favicon.ico
  static_files: favicon.ico
  upload: favicon.ico

- url: .*
  script: main.py

- url: /static
  static_dir: static

- url: /(.*?)/?
  static_files: \1/index.html
  upload: (.*?)/index.html


您的问题是- url: .*指令捕获了所有内容,因此永远无法访问底部的两个处理程序。
另外,您应该考虑在script中使用应用程序引用而不是文件名。不建议提供脚本文件名。

相关问题