我正在设置一个带有指向子文件夹的通配符子域的系统。由于我以外的原因,这必须使用 .htaccess 来完成。例如,要将http://subdomain.example.com重定向到 example.com 的 public_html 下的目录 /subdomain/,以下部分有效(感谢此 Q&A):
RewriteEngine On
RewriteRule ^subdomain/ - [L]
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$
RewriteRule ^(.*)$ /subdomain/$1 [L]
它适用于所有类型的文件,除非它们具有扩展名 .php。例如,如果我将 sometext.txt 文件放在 /subdomain/ 目录中,我可以在http://subdomain.example.com/sometext.txt获取它,但如果我将文本文件的扩展名更改为 .php,我会得到由于重定向循环而导致的 500 错误。
这让我觉得 PHP 模块尝试读取文件的方式有些奇怪。或者 Apache 和 PHP 之间的关系。我不熟悉这个;这就是我问的原因。
我在共享主机上,因此无法访问 Apache 配置。