2011-06-25 5 views
1

ほとんどのhtaccess 404エラールールは、絶対ディレクトリの場所に基づいています(例:/404.php)。私はそれが配置されている場所に相対的なものを必要とします(WAMPのテスト環境から生きるために転送するとき、私はファイルを編集することを望む必要はありません)。残念ながら404エラー文書の相対ディレクトリを指すように.htaccessファイルを編集するにはどうすればよいですか?

ErrorDocument 404 404Error.php 

はちょうどそれが

ErrorDocument 404 /FOOBAR/404Error.php 

ないように、実際のエラーページを呼び出すことはありません、ブラウザに404Error.phpを出力します。

編集:

私は十分明確ではなかったと思います。テスト環境はWAMPローカルサーバーで、エラーファイルは/FOOBAR/404Error.phpで、「ライブ」サーバーはwww.fubar.com/404error.phpで、ルートに配置します。

+1

サブディレクトリ(例: 'localhost/foobar/index.php')とドメイン名であなたのウェブサイトにアクセスする際にこのような混乱と問題があるのではなく、ローカルWAMPの各サイトを個人として設定しないのはなぜですか固有のドメイン名を持つエントリ。あなたの 'hosts'ファイル(' C:\ Windows \ System32 \ drivers \ etc \ hosts')に1行追加することで簡単にドメイン名を偽造できます。 'foobar.dev'のようなドメイン名を作成し、WAMPのウェブサイトのルートを' .../foobar/'フォルダにして、' http:// foobar.dev/index.php'経由でアクセスする新しいサイトを作成します。 – LazyOne

+1

このような 'hosts'エントリは' 127.0.0.1 foobar.dev'のように見えます – LazyOne

+0

解決策を作れば、私はそれを受け入れます - 文字通り尋ねられた答えはしませんが、問題は解決します。私は確信していないいくつかの詳細があります(WAMPにウェブサイトのルートを作成するよう設定していますか?WAMPに他のサイトを持つ機能を排除していませんか?)。 – RonLugge

答えて

3

どうやってですか?

ErrorDocument 404 ../directory/404page.html 
+1

+1簡単に。 – Cyclone

+0

ああ、動作しません。元の質問を編集しましたが、問題はファイルがルートディレクトリ以外のディレクトリからルートディレクトリに移動することです。 – RonLugge

+0

あなたが依頼している内容がまだ分かりませんが、あなたのホームページファイルがあるルートディレクトリに "ErrorDocument 404 404page.html"を置くことはできませんでしたが残念です(www.foobar.com/index.php )?その後、すべてのサブディレクトリは元の.htaccessファイルを参照して404を表示します。 – Tycho

1
RewriteBase /FOOBAR/ 
ErrorDocument 404 404Error.php 

これは、あまりにも動作しますが、ティコのソリューションは、もう少しエレガントです。 /FOOBAR/以外のものに対して.htaccessを使用する予定がない場合にのみ、このファイルを使用してください。

+0

上記のように、努力(と+1)のおかげで、私はルートディレクトリ以外のディレクトリからルートディレクトリ状況に行くので、動作しません。 – RonLugge

関連する問題