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

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈PHP: 於 Apache1.3 和 Apache2.0 抓到的 $_SERVER['SCRIPT_NAME'] 值不同〉中有 1 則留言

發表迴響

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