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 パラメータ