カスタム MVC フレームワークを作成していますが、ビュー ファイル内のいくつかの URL 定義に行き詰まっています。SEO に適したリンクを使用できるようにする次のコードがあります。
$requestURI = explode('/', $_SERVER['REQUEST_URI']);
$scriptName = explode('/', $_SERVER['SCRIPT_NAME']);
for( $i = 0; $i < sizeof($scriptName); $i++)
{
if( $requestURI[$i] == $scriptName[$i])
{
unset($requestURI[$i]);
}
}
$command = array_values($requestURI);
if( sizeof($command) === 0 OR sizeof($command) === 1)
{
init_controller_class($config['default_controller'], $config['default_entry']);
}
elseif( sizeof($command) >= 2)
{
init_controller_class($command[0], $command[1]);
}
私のビューファイル:
<div class="container">
<div class="header">
<ul class="menu">
<li><a href="#">Home</a></li>
<li><a href="#">News</a></li>
<li><a href="#">Downloads</a></li>
<li><a href="#">About µMVC</a></li>
</ul>
</div>
</div>
ランディング ページの URL はhttp://mvc.localhost:8888/welcome/indexです。このメニューで URL を設定するにはどうすればよいですか? を挿入すると、 http://mvc.localhost:8888/welcome/welcome/about<li><a href="welcome/about">About µMVC</a></li>
にリダイレクトされ、明らかにスクリプトが終了します。これは、パラメーター値を持つ関数がコントローラーに存在しないためです。この問題を解消するには?welcome
'about'
welcome