【发布时间】:2015-12-11 02:30:24
【问题描述】:
我在这里感到非常困惑。我一直在为我们的网络服务器使用 Google Appengine,到目前为止效果很好,但是我要求在没有 .html 扩展名的情况下加载网页。我一直在阅读,发现我需要创建一个app.yaml 文件来将 url 映射到其他东西?到目前为止,这是我的文件中的内容:
application: company-website
version: 1
runtime: java
threadsafe: true
handlers:
- url: /about
script: about.html
我一直在尝试在他们的文档站点上阅读如何执行此操作,但我似乎找不到任何关于如何删除扩展名并且仍然指向正确的 html 文件的内容。谁能帮我吗?我也可以在appengine-web.xml 文件中执行此操作吗?看来我可以在那里完成而不创建 app.yaml 文件。
任何帮助将不胜感激。谢谢!
编辑:尝试了更多的东西。尝试将我试图删除扩展名的文件移动到它自己的文件夹中,如下所示:
/root
-index.html
-/about
-index.html
这没关系,当我输入 domain.com/about/ 时,它似乎可以正常工作,但当我输入 domain.com/about 时,它却没有。非常沮丧。
【问题讨论】:
-
看看这个解决方案:stackoverflow.com/a/20220633/3245762
-
那个答案是针对 python 的,当我在 Java 中尝试这个时,它不承认 mime_type 是处理程序的属性,所以我不相信 Java 有这些选项
-
我不知道java,但是在python中你可以设置
strict_slash=True,表示你需要或不需要输入额外的/ -
关于您的编辑:如果以“about”开头的所有内容的重定向应转到 about/index.html,则处理程序中的
url必须看起来像url: /about.*。不过不确定script部分。逻辑上应该是static_files: about/index\.html,但这是我对正则表达式和mod_rewrite的感觉。
标签: java html google-app-engine