2012-04-30 20 views
2

私はサブディレクトリを持つ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 

なし。最初に/またはそれに先行する..を付けずに試してみると、そのページにエラー文書の行が表示されます。私は困惑している。十分な情報が含まれていることを願っていますが、そうでない場合は教えてください。

+2

私はapacheが現在のdocument_root以外のファイルを参照することはできません。それはセキュリティの問題です。あなたができることは 'include(../ error/index.php)'だけを含むダミーのPHPファイルを作成することです。 – Gerben

+0

これは機能します!あなたが答えとしてそれを入れたいなら、私はそれを受け入れます。 – Err

+0

うれしいです.. – Gerben

答えて

3

私はapacheを使って現在のdocument_root以外のファイルを参照することはできません。それはセキュリティの問題です。あなたができることはちょうどaを含むダミーのPHPファイルを作成することですinclude(../error/index.php)