私はサブディレクトリを持つApacheサーバーをサブディレクトリに持っています。私は自分のディレクトリをサブドメインに変えます。だからexample.site.com/mycoolsite
の代わりにmycoolsite.example.com
です。つまり、私は/var/www/mycoolsite
を/var/mycoolsite
に変えます。私は以下のコードで.htaccessファイルでこれを行います。.htaccess ErrorDocumentへの相対パス
RewriteCond %{HTTP_HOST} ^mycoolsite.site.com$ [NC]
RewriteCond %{REQUEST_URI} !^/mycoolsite/
RewriteRule ^(.*)$ /mycoolsite/$1 [L]
グレート。これで、ディレクトリがサブドメインに変わります。問題は、.htaccessが元のサブドメインのErrorDocument Iセットアップを参照できないということです。私はexample.site.com/mycoolsite/aNonExistantDirectory/
に行くことができ、私はセットアップを持っている適切な404を得るが、私がmycoolsite.site.com/aNonExistantDirectory/
を試してみると、私は基本的なサーバー404のエラーページを取得しているのではない。どちらも同じサーバー上にあります。問題を回避するために、エラー文書のコピーを作成して/mycoolsite/
ディレクトリに入れることができますが、元のエラー文書を参照するだけでよいと思っています。問題がある
、私が試した/var/www/mycoolsite/
に/var/www/error/
でエラードキュメントを参照する方法を知らない:これらの作業の
ErrorDocument 404 ../error/index.php?p=404
ErrorDocument 404 /www/error/index.php?p=404
ErrorDocument 404 www/error/index.php?p=404
ErrorDocument 404 error/index.php?p=404
ErrorDocument 404 /error/index.php?p=404
なし。最初に/
またはそれに先行する..
を付けずに試してみると、そのページにエラー文書の行が表示されます。私は困惑している。十分な情報が含まれていることを願っていますが、そうでない場合は教えてください。
私はapacheが現在のdocument_root以外のファイルを参照することはできません。それはセキュリティの問題です。あなたができることは 'include(../ error/index.php)'だけを含むダミーのPHPファイルを作成することです。 – Gerben
これは機能します!あなたが答えとしてそれを入れたいなら、私はそれを受け入れます。 – Err
うれしいです.. – Gerben