ホームページ  >  記事  >  バックエンド開発  >  SAE に基づく URL 書き換えに関する ThinkPHP 関連の問題

SAE に基づく URL 書き換えに関する ThinkPHP 関連の問題

WBOY
WBOYオリジナル
2016-06-13 13:31:39749ブラウズ

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

name: thinktest
version: 1
handle:
- 書き換え: 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/ になります。
.htaccess の
RewriteRule ^(.*)$index.php/$1 [QSA,PT,L]
からのものかどうか、Test.php には

のような URL があります。または config .yaml の
- 書き換え: if(!is_dir() && !is_file() && path~"^(.*)$") goto "index.php/$1"
が表示されます。ドメイン名外のすべてのコンテンツは、index.php パラメータ

に変換されます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。