2016-08-16 18 views
0

別の2つのPHPスクリプトを使用するようにapp.yamlを設定することは可能ですか?1つは裸のドメインを扱い、もう1つは他のすべてのサブドメインを処理しますか?app.yaml内のGAEサブドメイン

runtime: php55 
api_version: 1 

handlers: 
- url: /.* 
    script: naked.php 
- url: /.*.mydomain.com 
    script: sub-domains.php 

これは私の問題を解決するものですか?

EDIT |このリンクにより、サービスとカスタムディスパッチ設定を使用して私が達成したことを達成できると私は信じています。あなたが派遣App Engineを探している

https://cloud.google.com/appengine/docs/python/config/dispatchref

答えて

1

パターンは、要求されたURLのファイルパス部分(ドメイン名なし)にのみ適用されるため、app.yamlパターンルーティングを使用することはできません。

はい、モジュールは、これらの線に沿って何とかなりdispatch.yamlファイルに基づいてルーティングと、異なるドメインにマッピングすることができる。

dispatch: 
    - url: "mydomain.com/*" 
    module: naked_domain_module 

    - url: "*mydomain.com/*" 
    module: subdomain_module 

  • ルールの順序でdispatch.yaml件 - 最初の試合が勝利
  • リクエストが一致しないリクエストがデフォルトのモジュールに送信されます(ルールの順序/コンテンツをシャッフルする必要があります。
  • リクエストパスにもっと特定のパターンがある場合を除き、devserver(ホスト名ルーティングをサポートしていません)でこのルーティングをテストすることはできません。 - あなたがディスパッチルールを追加できるため、このような

- url: "*/naked/*" 
    module: naked_domain_module 

しかし、この場合にはあなたが同様にnaked_domain_moduleさんapp.yamlルーティングでその追加パスパターンを占め、元に戻す必要がありますプロダクション環境での展開時に使用します。このパスパターンをそのままプロダクションに残しておけば、app.yamlに直接アクセスできます。

説明:ディスパッチファイルを使用した自動ルーティングはローカルのdevserverでは機能しません。モジュールは、それぞれのモジュール「ドメイン」(実際にはリスニングポート)に自分自身でリクエストする必要があります。この場合のdevserverの動作のサンプルは、各モジュールのベースURLを示しています。

/usr/bin/python2.7 /usr/local/google_appengine/dev_appserver.py --host 0.0.0.0 --log_level=debug dispatch.yaml main/main.yaml buildin/buildin.yaml 
WARNING 2016-08-16 16:11:18,474 application_configuration.py:786] Hostname routing is not supported by the development server. The following dispatch entries will not match any requests: 
<DispatchEntry 
    url=buildin-dot-myapp.appspot.com/* 
    service=None 
    module=buildin 
    > 
INFO  2016-08-16 16:11:18,506 sdk_update_checker.py:229] Checking for updates to the SDK. 
INFO  2016-08-16 16:11:18,716 sdk_update_checker.py:257] The SDK is up to date. 
INFO  2016-08-16 16:11:18,884 api_server.py:205] Starting API server at: http://localhost:36398 
INFO  2016-08-16 16:11:18,885 dispatcher.py:185] Starting dispatcher running at: http://0.0.0.0:8080 
INFO  2016-08-16 16:11:18,890 dispatcher.py:197] Starting module "default" running at: http://0.0.0.0:8081 
INFO  2016-08-16 16:11:18,893 dispatcher.py:197] Starting module "buildin" running at: http://0.0.0.0:8082 
INFO  2016-08-16 16:11:18,897 admin_server.py:116] Starting admin server at: http://localhost:8000 
+0

2番目の* my-domain.com/*は* .mydomain.com/*ではありませんか? –

+0

Yep - コピー・ペースト・エラー。一定 :) –

関連する問題