web関連
【php】$_SERVER[“SCRIPT_NAME”]が使えない時と使える時がある
クエリ文字を除く現在のディレクトリURLを「$_SERVER["SCRIPT_NAME"]」で取得しようとしたら取得できなくて困った時の備忘録
静的phpのサイト(動く)
例
https://sample.com/test/index.php?○○××△△□□
<?php
echo $_SERVER["SCRIPT_NAME"]; → /test/index.php
echo $_SERVER["REQUEST_URI"]; → /test/index.php?○○××△△□□
echo dirname($_SERVER["SCRIPT_NAME"]); → /test
?>
静的サイトであれば「$_SERVER[“SCRIPT_NAME”]」が問題なく動く
wordpressのサイト(動かない)
例
https://sample.com/test/index.php?○○××△△□□
<?php
echo $_SERVER["SCRIPT_NAME"]; → /index.php
echo $_SERVER["REQUEST_URI"]; → /test/index.php?○○××△△□□
echo dirname($_SERVER["SCRIPT_NAME"]); → /
?>
「$_SERVER[“SCRIPT_NAME”]」だと現在のディレクトリ名が取得できなくなった
wordpressだと「$_SERVER[“SCRIPT_NAME”]」は使えないのかな?
「現在実行されているスクリプトのパス」を取得するみたいだけどwordpressはアクセスしてからページを生成するから静的サイトとは別の結果がでるんかな
「現在実行されているスクリプトのパス」を取得するみたいだけどwordpressはアクセスしてからページを生成するから静的サイトとは別の結果がでるんかな
「$_SERVER[“SCRIPT_URL”]」と「$_SERVER[“SCRIPT_URI”]」
調べていた時に出てきたので備忘録
サーバー次第で使えたり使えなかったりするみたい
さくらでは使えなかったけどmixhostのサーバーでは使えた
くわしくは調べてない
参考
▼$_SERVER[‘SCRIPT_URI’]が使えたり使えなかったり
https://qiita.com/y_ito/items/2f2855c0793e5a757cd3
▼PHPで$_SERVER[‘SCRIPT_URL’]が使えないとき
http://online106.hatenablog.jp/entry/2014/04/12/135134
クエリ文字を除いたディレクトリ名が取得できて便利だと思ったんだけど調べているうちに謎が深まった
とりあえず「$_SERVER["SCRIPT_NAME"]」はwordpressサイトで使わないで「$_SERVER["REQUEST_URI"]」を使っておこうと思う
後でしっかりと調べたい