我有一个Apache网络服务器,为我的主域(something.com)托管一个站点。这很好用。我有第二个域名(somethingelse.com),我想指向我网站上的一个文件夹,放在something.com/somethingelse/。我已经设置了DNS,以便两个域都指向Web服务器的IP,默认情况下,这两个域现在都显示了something.com(主站点)的压缩。
从这里开始,我输入了一个.htaccess文件,如下所示:
RewriteCond %{HTTP_HOST} ^(www.)?somethingelse.com$
RewriteCond %{REQUEST_URI} !^/somethingelse/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /somethingelse/$1 [L]
RewriteCond %{HTTP_HOST} ^(www.)?somethingelse.com$
RewriteRule ^(/)?$ somethingelse/index.php [L]
这应该导致somethingelse.com的任何请求被指向somethingelse-folder。这也可以按预期工作。
然而:
当我现在尝试访问somethingelse.com时,出现500内部服务器错误。只有在我使用PHP文件时才会发生这种情况。如果我使用像index.html这样的文件进行设置,那就可以了。
我认为这与隐藏的策略有关,如果域名与主站点的某些不同(something.com),就会阻止PHP脚本执行,就像某种类型的CORS保护。我已经检查了文件权限,它们的设置方式与网站的其他部分完全相同(同样,它也适用于HTML文件)。
所以 - 我可能知道这里的问题是什么,但我该如何解决呢?
(错误不能来自PHP脚本本身,因为文件中根本没有PHP代码。仅.php扩展名就会导致此问题。)