PHP: 於 Apache1.3 和 Apache2.0 抓到的 $_SERVER['SCRIPT_NAME'] 值不同

所以說最近踩的地雷特別多, 要判斷目前是否在此頁面, 通常可以用 $_SERVER['SCRIPT_NAME'] 來抓值, 但是在 Apache 1.3 和 Apache 2.0 抓到的值是不一樣的.

$_SERVER['SCRIPT_NAME'] 的值, 有下述幾種狀況:

http://hostname/ (假設首頁是 index.php) - 這是相同狀況

  • Apache 1.3 的會抓到 /index.php 
  • Apache 2.0 的會抓到 /index.php

http://hostname/category (假設是 category.php, 然後 Apache 有開 Options +MultiViews, category 會自動拉到 category.php)

  • Apache 1.3 的會抓到 /category.php 
  • Apache 2.0 的會抓到 /category

解法就是, 兩種都可能性都加進判斷就對了. XD


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 Programming。將永久鏈結加入書籤。

PHP: 於 Apache1.3 和 Apache2.0 抓到的 $_SERVER['SCRIPT_NAME'] 值不同 有 1 則回應

  1. 娜羽 說道:

    您好,不好意思,請教一下,
    apache2版與apache1.3版到底有哪此地方不同呀???

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料