所以我有一個帶有子目錄子域的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/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
無。在沒有第一個/
或之前的..
的情況下嘗試時,它將在頁面上顯示錯誤文檔行。我很難過。我希望我收錄了足夠的信息,但如果沒有,請告訴我。
我不認爲apache允許您引用當前document_root之外的文件。這是一個安全的事情。你可以做的是創建一個只包含一個'include(../ error/index.php)'的虛擬php文件。 – Gerben
這個工程!如果你想把它作爲答案,我會接受它。 – Err
很高興幫助.. – Gerben