2

ユーザーが現在どのディレクトリにいるかに応じて、2つの別々の404ページを使用しようとしています。ディレクトリ内の.htaccessファイルを使用してこれを実行できると思いましたが、機能していません。これも可能ですか?

例:ユーザーはwww.domain.comのドキュメントを見ています。このディレクトリはnumber1_404.htmlを使用する必要があります。

例2:ユーザーはwww.domain.com/other_directoryにあるドキュメントを見ています。このディレクトリはnumber2_404.htmlを使用する必要があります。

このためのルールをどのように書くかは完全にはわかりませんが、これは私が今持っているものであり、機能していません。

.htaccess <--- in the root folder /httpdocs
ErrorDocument 404 /root_404.php

.htaccess <---- in the subdirectory /httpdocs/subdirectory
ErrorDocument 404 /subdirectory/subdirectory_404.php

おそらく私はこれがどのように機能するのか理解していないので、私の無知を許してください。

4

1 に答える 1

1

2つの異なる.htaccessファイルを使用します。ルート404のルートとサブディレクトリの1つは、書き換え条件も調べます。他の言語のif-elseと同様に適用できる条件がある場合があります。たぶん、rootがこれを表示するのと同等のことを行うことができます。それ以外の場合はそれを表示します。複数の404を使用する必要がなかったので、はっきりとはわかりません。

別の方法として、PHPを使用している場合は、ルートディレクトリにいるのか、1つ以上のレベルにいるのかをphp経由で検出することもできます。その場合、あなたinclude()またはrequire()あなたの選択が何であれ、あなたが望む404がその状態のために表示されます。ただし、グローバルには、htaccessファイルの場合は1つの404ページになり、他の2つのうちの1つ(または必要に応じてそれ以上)が取り込まれます。

于 2012-09-18T18:51:27.013 に答える