PUBLIC_ROOT/uploads/test.php
次のスクリプトが含まれており、https://example.com/updates/test.php/some/stuff?foo = barからアクセスできます。
<?php
echo('PATH_INFO: '.($_SERVER['PATH_INFO']??'UNSET').PHP_EOL);
echo('ORIG_PATH_INFO: '.($_SERVER['ORIG_PATH_INFO']??'UNSET').PHP_EOL);
出力は次のとおりです。
PATH_INFO: /some/stuff
ORIG_PATH_INFO: UNSET
https://www.php.net/manual/en/reserved.variables.server.phpの状態:
'ORIG_PATH_INFO'
Original version of 'PATH_INFO' before processed by PHP.
$ _SERVER ['ORIG_PATH_INFO']が設定されていないのはなぜですか?値はどうあるべきですか?サーバーを構成してサーバーを含めるにはどうすればよいですか?
ありがとう
あなたが質問で述べたように
'ORIG_PATH_INFO'
Original version of 'PATH_INFO' before processed by PHP.
サーバーには、$_SERVER['ORIG_PATH_INFO']
PHPがPATH_INFO
htaccessまたはmod_rewriteを介して元のファイルに変更を加えた場合が含まれます。たとえば、/の後にすべてを書き換えてindex.php /(htaccess:を使用RewriteRule ^(.*)$ index.php/$1 [L]
)に移動し、https ://example.com/whateverに移動した場合などです。これが元のパスだったので$_SERVER['ORIG_PATH_INFO']
に設定され/whatever
ます
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加