empty($_SERVER['REQUEST_URI'])とは、何のことでしょうか?
下記スクリプトの意味について教えてください。
//
// Fix unavailable $_SERVER['REQUEST_URI'] on IIS
//
if ( empty($_SERVER['REQUEST_URI']) ) {
$_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF'];
$_SERVER['REQUEST_URI'] .= ( !empty($_SERVER['QUERY_STRING']) ) ? '?'.$_SERVER['QUERY_STRING'] : '';
}
▼if ( empty($_SERVER['REQUEST_URI']) ) {
$_SERVER['REQUEST_URI']が空だったら、の意味が分かりません。
ページにアクセスするためのURIを指定しなかったら?
それは、どんな状況なのでしょうか?
▼$_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF'];
$_SERVER['REQUEST_URI']に、現在実行しているスクリプトのファイル名を利用。これは、何をしているのでしょうか?
▼$_SERVER['REQUEST_URI'] .= ( !empty($_SERVER['QUERY_STRING']) ) ? '?'.$_SERVER['QUERY_STRING'] : '';
クエリ情報(URLの"?"以降の文字列)が空でなければ、クエリ情報をくっつける。空だったら、くっつけない
結局、このスクリプトでは何をしようとしているのでしょうか?
また、このスクリプトがないと、どういう不具合が起きる可能性があると、想定されるでしょうか?
検索してみたら、下記のようなページがあったのですが、
IIS(サーバ?)固有の不具合回避対策なのでしょうか?
▽Dokeos Forum • View topic - IIS $_SERVER['REQUEST_URI']
http://www.dokeos.com/forum/viewtopic.php?t=8335
No.2ベストアンサー
- 回答日時:
IISで$_SERVER['REQUEST_URI']の値を取得できないとき、
無理やり$_SERVER['REQUEST_URI']を作るような処理が書いてあります。
コメント文とソースをそのまま読んでもなんとなくわかる
//
// IISでは$_SERVER['REQUEST_URI']が使用できないことがあるのでそれをなんとか使用できるようにしちゃいましょう
//
もし$_SERVER['REQUEST_URI']に値が入っていないなら {
$_SERVER['REQUEST_URI']にPHPスクリプトファイル名をまず入れて、
クエリ文字列があるならついでにそれも付けてやって$_SERVER['REQUEST_URI']を再現
}
No.3
- 回答日時:
他には、コマンドラインから php -f index.php みたいに実行すると
REQUEST_URI は空になります。
回答ありがとうございました。
>他には、コマンドラインから php -f index.php みたいに実行すると
>REQUEST_URI は空になります。
はじめて知りました。情報ありがとうございましたー
No.1
- 回答日時:
> $_SERVER['REQUEST_URI']が空だったら、の意味が分かりません。
これだけは なんとなく分ります。
ドメインだけ打った場合とかは REQUEST_URI は 多分 空っぽになります。
XAMPPで試したときは、ブラウザが 勝手に補完してるの知りませんが、スラッシュが入ってました。
んで、↓これに入るのは index.php とかだと思われます。
$_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF'];
正確には apache の httpd.conf の DirectoryIndex で 指定しているファイル名なんじゃないかなと。
他のは 意図が分りません。
俺 英語読めませんので リンク先もさっぱりでしたし。(´・ω・`)
回答ありがとうございました。
>ドメインだけ打った場合とかは REQUEST_URI は 多分 空っぽになります。
なるほど…。参考になりましたー
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- その他(OS) Windows Server評価版がダウンロードできない 1 2022/05/06 13:32
- その他(開発・運用・管理) Windows serverでマルチキャスト通信の確認をしたいです。MicrosoftよりMPING 1 2023/03/31 01:05
- その他(ブラウザ) グーの質問見ようとしたらブラウザ版で 3 2022/03/28 10:33
- 2ちゃんねる Server relocation is in progress.って何でしょうか 1 2022/10/27 19:46
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- PHP PHP & MySQL: Server-side Web Development ペーパ 1 2022/04/19 19:23
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
- サーバー Windows Server 2019 CALについて 3 2022/04/02 16:40
- その他(ソフトウェア) 至急!500 Internal Server Errorこのエラーはなんですか?原因と解決法教えてく 4 2022/06/21 15:50
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「黒歴史」教えて下さい
- ・2024年においていきたいもの
- ・我が家のお雑煮スタイル、教えて下さい
- ・店員も客も斜め上を行くデパートの福袋
- ・食べられるかと思ったけど…ダメでした
- ・【大喜利】【投稿~12/28】こんなおせち料理は嫌だ
- ・前回の年越しの瞬間、何してた?
- ・【お題】マッチョ習字
- ・モテ期を経験した方いらっしゃいますか?
- ・一番最初にネットにつないだのはいつ?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ダウンロードしたApacheがstart...
-
php でqiitaのサイトにあったフ...
-
SplFileObject を利用したとき...
-
PHPの勉強してます。 配列のと...
-
phpでクラスのメソッドで同名の...
-
ファイルアップロードに関して...
-
phpでcookieがうまく保存されない
-
EC-CUBEをeclipseからコンパイ...
-
掲示板のセキュリティについて...
-
$_SESSIONについて教えて下さい。
-
「ログイン機能を持たせる」説...
-
1 OR 1=1 は どんな論理(約束事...
-
PHP8を使うと、大量のWarningが...
-
SFTPなどは使わないホームペー...
-
掲示板を作成しておりアップロ...
-
php 入力画面から確認表示画面...
-
PHPを使って、別サイトの一部を...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3つ以上の論理積は利用可能なの...
-
ステップカウンタ(PHP)
-
empty($_SERVER['REQUEST_U
-
phpにて、ipアドレスによる処理...
-
$_SERVER と $_ENV の違い
-
簡単な心理テストを作りたい
-
javascriptとPHP
-
phpと<?xml version="1.0" enco...
-
スクリプト終了時に呼び出す関...
-
MacブラウザのSafariで文字化け...
-
頻出関数とその意味をランダム...
-
オブジェクト指向の勘違い?
-
Makefile.inとMakefile.am
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
フォントの色を変えるには?
-
リンク先を隠す方法はないでし...
-
【file_exists】ファイルが存在...
-
CFileDialogの最初のディレクト...
おすすめ情報