データベースと照合する前にURLを取得してデコードするための次のコード行があります。
$urls = url_split(url_current());
$url_page = (string)rawurldecode($url[0]);
URLは分割され、次の関数を使用して配列に入れられます。
function url_current ()
{
// Check for HTTPS
$http = 'http';
if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") $http .= 's';
$http .= '://';
// Return URL
return $http . $_SERVER['HTTP_HOST'] . $_SERVER["REQUEST_URI"];
}
function url_split ($url)
{
// Retrieve URLs - Remove URL and split into array
$url = explode('/', str_replace('http://www.siteurl.com', '', $url));
// Build new array, remove blanks
$urls = array();
for ($i = 0; $i < sizeof($url); $i++)
{
if ($url[$i] != '') $urls[] = $url[$i];
}
// Return array
return $urls;
}
これは(Zendを使用して)ローカルサーバーでは機能していますが、ライブサーバーでは機能していません。$ _SEVER変数はすべて正しいデータを返すため、これは問題にはなりません。ローカルサーバーとライブサーバーでこれが異なるパフォーマンスを示す理由がわかりません。これを引き起こしている可能性のあるphpiniの設定はありますか?
私のローカルサーバーではyrj%C3%B6laitinenがyrjölaitinenを生成しますが、私のライブサーバーではyrjölaitinenを生成します。