Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess错误文档的相对路径_.htaccess_Apache2 - Fatal编程技术网

.htaccess错误文档的相对路径

.htaccess错误文档的相对路径,.htaccess,apache2,.htaccess,Apache2,所以我有一个apache服务器,它有子域和子目录。我把我的目录变成子域。因此,它不是example.site.com/mycolsite,而是mycolsite.example.com。或者换句话说,我把/var/www/mycolsite变成/var/mycolsite。我使用下面的代码对.htaccess文件执行此操作 RewriteCond %{HTTP_HOST} ^mycoolsite.site.com$ [NC] RewriteCond %{REQUEST_URI} !^/mycoo

所以我有一个apache服务器,它有子域和子目录。我把我的目录变成子域。因此,它不是
example.site.com/mycolsite
,而是
mycolsite.example.com
。或者换句话说,我把
/var/www/mycolsite
变成
/var/mycolsite
。我使用下面的代码对.htaccess文件执行此操作

RewriteCond %{HTTP_HOST} ^mycoolsite.site.com$ [NC]
RewriteCond %{REQUEST_URI} !^/mycoolsite/
RewriteRule ^(.*)$ /mycoolsite/$1 [L]
太好了。现在它将目录转换为子域。现在的问题是.htaccess无法引用我为原始子域设置的ErrorDocument。我可以转到
example.site.com/mycolsite/aNonExistantDirectory/
并获得我已安装的正确404,但当我尝试
mycolsite.site.com/aNonExistantDirectory/
时,我得到的是基本服务器404错误页面,而不是我已安装的页面。两者都在同一台服务器上。为了解决这个问题,我可以复制一份错误文档并将它们放在
/mycolsite/
目录中,但我希望我可以简单地引用原始错误文档

问题是,我不知道如何将
/var/www/error/
中的错误文档引用到
/var/www/mycolsite/
我尝试过:

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不允许您引用当前文档根目录之外的文件。这是安全问题。您可以创建一个虚拟php文件,其中只包含一个
include(../error/index.php)

我认为apache不允许您引用当前文档根目录之外的文件。这是安全问题。您可以做的是创建一个虚拟php文件,其中只包含一个
include(../error/index.php)
!如果你想回答这个问题,我会接受的。