4

.htaccessでリライトしている場合の、URI上のスクリプト名を取得する

Posted by booyaa on 2月 20, 2010 in PHPで開発

たとえば

http://www.example.com/test.html

へリクエストをした場合、リライトしていなければ

basename($_SERVER[‘SCRIPT_NAME’])

で「test.html」が取得できますね。

しかし、例えばリライトしていて実際は
index.php?script=test
がリクエストされている場合は

「index.php」が取得されてしまいます。

ここで、「text.html」を取得するには、ちょっと面倒ですが$_SERVER[‘REQUEST_URI’]を利用します

  //リクエストしたURIを解析する
  $url_parts = parse_url($_SERVER[‘REQUEST_URI’]);

  //スクリプトの取得
  $script_name = basename($url_parts[‘path’]);

これで一応取得できます。

ただ、

http://www.example.com/test/

へアクセスした場合は
「test」が取得されてしまうので、注意してください。

タグ:

Copyright © 2024 ブーヤーの技術開発メモ All rights reserved. Theme by Laptop Geek.