PHPアプリケーションをApacheからIIS7に移行しました。すべてのリンクは、パスディレクトリを含むMySQLテーブルレコードからロードされます。PHPコードとMySQLデータベースで同じ構造を持っています。ただし、リンクをクリックしてもPHPコードは実行されず、ホームページでのみ機能します。次のエラーが発生します。
HTTPエラー404.0-見つかりません
探しているリソースが削除されたか、名前が変更されたか、一時的に利用できません。
これはIIS構成の問題ですか?
これはホームページ用です:
<ul>
<?php
echo $class->menu->topmenu( $patharray[0] ) ?>
</ul>
以下はリンク用です:
function topmenu ( $path = 'home' )
{
$home = $this->fetchOne ( $this->query( "SELECT * FROM admin_menu WHERE parent = 0" ) ) ;
$links = $this->fetch ( $this->query ( "SELECT admin_menu.*, aus.value FROM admin_menu LEFT JOIN admin_user_status aus ON ( aus.id = admin_menu.status ) WHERE parent = 1 AND active ='yes' ORDER BY sort ASC" ) ) ;
if ( $links )
foreach ( $links as $key => $link )
{
if ( $key == 0)
$url = '/';
else
$url = $link->url;
//if ( $link->priv == 'open' || ( $link->priv == 'private' && $this->userinfo->status == 225 ) )
if( $this->check_user_priv( $link ) )
{
if( stripos( $link->url, $path ) === false )
$result .= "<li class='mainlevel'><a href='$url' >$link->text</a></li>" ;
else
$result .= "<li class='mainlevel'><b><a href='$url' >$link->text</a></b></li>" ;
}
}
return $result;
}
上記のURLリンクはテーブルから読み込まれますが、それらをクリックすると、HTTPエラー404.0-見つかりませんでした。