我有一个奇怪的情况,规则在具有相同主机的不同域上工作,但它不适用于特定域。
我有 2 个 Bluehost 帐户,它们是标准的廉价共享托管服务提供商。
在帐户 #1 我有一个托管帐户,其中有 4 个域名。1 个域是主域(加载帐户的 /public_html/ 目录)和 3 个附加域,它们只是 /public_html/ 中的文件夹。
在帐户 #1 我的 .htaccess 文件中有这个:
RewriteCond %{REQUEST_FILENAME} !-d
它位于我忽略重写一些文件扩展名的正下方,之后我有一堆 url 重写规则,它们都在工作。
在帐户#1这一切都很好。
在帐户 #2 上,我有完全相同的设置,但附加域在访问它们时会抛出错误 500,它也不会在文件的文件夹中添加 error.log 条目,我在没有重写的情况下测试了域,它工作正常. 它们可以通过标准 url (www.example.com) 访问,因此它不像是子域或任何东西。
在这种情况下,这个附加域是非常基本的。它只是一个没有重写规则的单页域。如果我从主域中删除 .htaccess,那么子域就可以工作。