这就是我想要实现的目标。现在,在 /var/www 中我有一个 .htaccess 文件,其中为各种错误定义了多个 ErrorDocuments。
我也有子网站(即 /var/www/tf2c、/var/www/obtf2)。目前,我已将这些目录中所有缺失的页面设置为链接到模板页面,以通知查看这些部分的任何人该网站已移至新主机。但是,我需要为许多链接创建链接,因此我宁愿为 /var/www/tf2c 文件夹使用单独的 ErrorDocument 来处理事情,这样我就可以完全放弃模板页面。
我尝试将 .htaccess 文件放入 /var/www/tf2c 中并定义“ErrorDocument 404”,但 /var/www 中的原始 .htaccess 文件却完全停止工作。
我该如何实现这一点,以便 /var/www 的 ErrorDocuments 优先,除非有人正在浏览 /var/www/tf2c 或 /var/www/obtf2 中的网站,在这种情况下,这些网站的 .htaccess 优先并显示其自己的自定义 404 页面?
答案1
在我看来,你已经走错了方向,你想要创建一个.htaccess
文件,这是我最讨厌的,引用自.htaccess 手册文件:
你应该完全避免使用
.htaccess
文件 如果你有权访问 httpd 主服务器配置文件。使用.htaccess
文件会减慢你的 Apache http 服务器速度. 任何可以包含在.htaccess
文件中的指令最好都设置在Directory
在主 Apache 配置文件中阻止,因为它具有相同的效果,但性能更好。
您的问题似乎表明您有多个子网站,并暗示您VirtualHost
为每个子网站都设置了一个部分。只需在每个 VirtualHost 部分中声明自定义 ErrorDocuments。这样它们就不会互相干扰。