2

したがって、サブディレクトリを持つサブドメインを持つApacheサーバーがあります。ディレクトリをサブドメインに変えます。その代わりexample.site.com/mycoolsitemycoolsite.example.com. または言い換えれば、私はに変わり/var/www/mycoolsiteます/var/mycoolsite。以下のコードを含む .htaccess ファイルでこれを行います。

RewriteCond %{HTTP_HOST} ^mycoolsite.site.com$ [NC]
RewriteCond %{REQUEST_URI} !^/mycoolsite/
RewriteRule ^(.*)$ /mycoolsite/$1 [L]

偉大な。これで、ディレクトリがサブドメインに変わります。現在の問題は、元のサブドメイン用に設定した ErrorDocument を .htaccess が参照できないことです。セットアップした適切な 404 にアクセスしexample.site.com/mycoolsite/aNonExistantDirectory/て取得できますが、試してみると、セットアップmycoolsite.site.com/aNonExistantDirectory/したものではなく、基本的なサーバー 404 エラー ページが表示されます。どちらも同じサーバー上にあります。この問題を回避するために、エラー ドキュメントのコピーを作成してディレクトリ内に置くこと/mycoolsite/ができますが、元のエラー ドキュメントを参照するだけで済むことを願っています。

問題は、私が試したエラードキュメント/var/www/error/を参照する方法がわからないことです:/var/www/mycoolsite/

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

それらのどれも機能しません。最初/または先行なしで試してみると..、ページにエラー文書行が表示されます。私は困惑しています。十分な情報が含まれていることを願っていますが、そうでない場合はお知らせください。

4

1 に答える 1

3

Apache では、現在の document_root 以外のファイルを参照できないと思います。セキュリティの事です。あなたができることは、include(../error/index.php)

于 2012-05-02T09:26:56.007 に答える