我在 cpanel 中设置了一个 *.mydomain.com 子域(cpanel,无 shell 访问权限) 转到任何东西。mydomain.com 让我进入我为 *.mydomain.com 安装的同一目录
因此,当我在 .htaccess 中使用以下内容访问 test.mydomain.com 时,
正常工作的是:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.+)\.(.+?\..+?)$ [NC]
RewriteCond %{REQUEST_URI} !^/test/(.+)?$
RewriteRule ^(.*) /%1/$1
什么不起作用并给出 500 错误是这样的(刚刚用 %1 替换了测试):
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.+)\.(.+?\..+?)$ [NC]
RewriteCond %{REQUEST_URI} !^/%1/(.+)?$
RewriteRule ^(.*) /%1/$1
如果存在具有其名称的子目录,我想要做的是允许动态设置子域。当我在 .htaccess 中硬编码子域名测试时,重写是优雅地完成的,而不是当我为其使用反向引用%1时。