【问题标题】:google app engine joomla links not loading谷歌应用引擎 joomla 链接未加载
【发布时间】:2014-03-14 01:16:53
【问题描述】:

我最近按照以下链接上的重要说明在谷歌应用引擎上运行 joomla 3.2.1 http://forum.joomla.org/viewtopic.php?f=706&t=828565&p=3114492

我仍在本地运行它,但遇到了加载静态文件的问题。

尽管网址正确,但我的静态链接都没有加载。这是来自 SDK 日志的 sn-p

Python command: /usr/bin/python2.7
INFO     2014-03-14 01:10:23,676 devappserver2.py:675] Skipping SDK update check.
WARNING  2014-03-14 01:10:23,690 api_server.py:341] Could not initialize images API; you are likely missing the Python "PIL" module.
INFO     2014-03-14 01:10:23,696 api_server.py:138] Starting API server at: http://localhost:51014
INFO     2014-03-14 01:10:23,702 dispatcher.py:176] Starting module "default" running at: http://localhost:8080
INFO     2014-03-14 01:10:23,709 admin_server.py:117] Starting admin server at: http://localhost:8001
INFO     2014-03-14 01:10:29,491 module.py:612] default: "GET / HTTP/1.1" 200 6371
INFO     2014-03-14 01:10:29,510 module.py:612] default: "GET /templates/protostar/css/template.css HTTP/1.1" 304 -
INFO     2014-03-14 01:10:29,511 module.py:612] default: "GET /joomla/media/jui/js/jquery.min.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,518 module.py:612] default: "GET /joomla/media/jui/js/jquery-noconflict.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,519 module.py:612] default: "GET /joomla/media/system/js/core.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,520 module.py:612] default: "GET /joomla/media/jui/js/jquery-migrate.min.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,522 module.py:612] default: "GET /joomla/media/system/js/tabs-state.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,523 module.py:612] default: "GET /joomla/media/system/js/caption.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,524 module.py:612] default: "GET /joomla/media/system/js/mootools-core.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,524 module.py:612] default: "GET /joomla/media/jui/js/bootstrap.min.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,525 module.py:612] default: "GET /templates/protostar/js/template.js HTTP/1.1" 304 -
INFO     2014-03-14 01:10:29,645 module.py:612] default: "GET /joomla/media/jui/js/jquery-noconflict.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,649 module.py:612] default: "GET /joomla/media/jui/js/jquery-migrate.min.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,654 module.py:612] default: "GET /joomla/media/system/js/tabs-state.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,658 module.py:612] default: "GET /joomla/media/system/js/mootools-core.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,662 module.py:612] default: "GET /joomla/media/system/js/core.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,666 module.py:612] default: "GET /joomla/media/system/js/caption.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,670 module.py:612] default: "GET /joomla/media/jui/js/bootstrap.min.js HTTP/1.1" 404 -
INFO     2014-03-14 01:10:29,692 module.py:612] default: "GET /media/jui/fonts/IcoMoon.woff HTTP/1.1" 304 -

所有这些 url 都与网站上的文件结构完全对应,但它们在 google 控制台上都以 404 错误的形式返回!

相同的文件在 Mamp 上完美运行。

我的 app.yaml 文件是这样的

    application: demo-test
version: 1
runtime: php
api_version: 1
threadsafe: yes

handlers:
- url: /(.*\.(htm$|html$|css$|js$))
  static_files: joomla/\1
  upload: joomla/(.*\.(htm$|html$|css$|js$))
  application_readable: true
  secure: always

## Admin  
- url: /administrator(.+)
  script: joomla/administrator\1
  secure: always

## Asset folders
- url: /media
  static_dir: joomla/media
  application_readable: true

- url: /images
  static_dir: joomla/images
  application_readable: true

## Template folders
- url: /templates
  static_dir: joomla/templates
  application_readable: true

- url: /administrator/templates
  static_dir: joomla/administrator/templates
  application_readable: true

## SEO robots
- url: /robots.txt
  script: joomla/robots.txt 

## Site access
- url: /(.+)?/?
  script: joomla/index.php
  secure: always

非常感谢任何帮助。

【问题讨论】:

    标签: php google-app-engine joomla


    【解决方案1】:

    404 的传入 URL 以 /joomla/ 开头,因此您需要在编写正则表达式时在处理程序中考虑到这一点。

    试试类似的东西

    handlers:
    - url: /joomla/(.*\.(htm$|html$|css$|js$))
      static_files: joomla/\1
      upload: joomla/(.*\.(htm$|html$|css$|js$))
      application_readable: true
      secure: always
    

    您真的只想通过 HTTPS 提供这些服务吗?如果没有,则删除 secure: always 行。

    【讨论】:

    • 感谢 Stuart,虽然我不太清楚为什么,但它运作良好。使用现有的正则表达式,我认为这会从此时开始搜索这些文件,因此已经包括 joomla 目录..?
    • 您需要查看反向引用的工作原理(\1)以了解它为什么不起作用。我有一篇以前的 SO 帖子,回答得很好,你应该可以找到。
    • 我在这里查看了您的帖子,(stackoverflow.com/questions/22184211/…),(\1)部分更加清晰。您说过要在您的 cmets 中查看 (developers.google.com/appengine/articles/wordpress)。我的 app.yaml 文件基于此的 joomla 版本 (forum.joomla.org/viewtopic.php?f=706&t=828565&p=3114492)。在 WP 版本中,他们不会在 url 中添加“/wordpress/”。我们需要在单独的文件夹中添加 joomla 或 wp 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 2013-01-25
    相关资源
    最近更新 更多