ホームページ > バックエンド開発 > PHPチュートリアル > SAE での URL 書き換えに関する ThinkPHP 関連の問題

SAE での URL 書き換えに関する ThinkPHP 関連の問題

WBOY
リリース: 2016-06-13 13:00:03
オリジナル
839 人が閲覧しました

SAE
thinkphp での URL 書き換えに関する ThinkPHP の問題。
ルートディレクトリに config.yaml があります (SAE は .htaccess をサポートしていないため)
内容は次のとおりです:

名前: thinktest
バージョン: 1
ハンドル:
- 書き換え: if(!is_dir() && !is_file() && path~"^(.*)$") goto "/index.php/$1"
- 書き換え: if(path~"^/test.html$") goto "/test.php"

重要なのは、2 番目のリライトに注目することです。
ルートディレクトリにtest.htmlとtest.php
があります test.html にアクセスすると、test.php
にアクセスできます。
問題は
エントリファイルindex.php
があります Action にはファイル IndexAction.class.php
があります インデックスのオペレーションコードは次のとおりです:

echo "";

つまりページジャンプです。
同時に、Tpl/default/Index/ の下に test.html と test.php
があります。 この時点では、ジャンプ後に test.php にはアクセスされません

ただし、ルートディレクトリのtest.htmlにジャンプすれば問題ありません。

config.yaml のスコープに関係していますか?それとも他の理由があるのでしょうか?

専門家に答えを聞いてください!
------解決策---------
thinkphp の疑似静的は PATH_INFO を通じて実装されます
URL 書き換えを使用するために必要な唯一のことは、index.php ファイル名
を非表示にすることです。
thinkphp は単一の入り口なので、http://serverName/test.php
のような URL はありません。
この点は
から来ています .htaccess
RewriteRule ^(.*)$index.php/$1 [QSA,PT,L]
または config.yaml
- 書き換え: if(!is_dir() && !is_file() && path~"^(.*)$") goto "index.php/$1"
ドメイン名外のすべてのコンテンツを、index.php

のパラメータに変換したことがわかります。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート