0

次のディレクトリ構造のサイトがあります。

index.php
folder1/index.php
folder2/index.php
inc/nav.php

すべての index.php ページには、上部の水平ナビゲーション バーを含む nav.php ページが含まれています。

<?php include_once 'inc/nav.php' ?>

nav.php ファイル内には、さまざまなページへのリンクがあります。home や logout など。これらは、サイトのルートにある index.php ファイルでは正常に機能しますが、サブフォルダーのいずれかの index.php ページでは、次のリンクにリンクしているため機能しません。

http://www.mywebsite.com/folder1/logout.php

一方、リンクは次のようにする必要があります。

http://www.mywebsite.com/logout.php

nav.php には次のようなリンクがあります。

<li> <a href="logout.php">Logout</a> </li>

そのため、ルートのindex.phpページから呼び出された場合にのみ機能することがわかりますが、サイトのルートレベルまたはサブフォルダーのいずれかのindex.phpページから機能するようにする方法がわかりません。

4

1 に答える 1

2

ルートに logout.php があると仮定すると、このようにページ名の前にスラッシュを使用して、ルートからページを指すようにします。

<li> <a href="/logout.php">Logout</a> </li>

使用しているのは、その特定のディレクトリのページ名を指すだけlogout.phpですが、ルートにいる場合は利用できる可能性があるため、サーバーは 404 を返しますが、ディレクトリにいる場合は失敗します。

それでもナビゲーションが複雑になる場合は、if条件を使用してパスを適宜変更することもできます。

于 2013-07-23T03:35:09.723 に答える