我打开了通配符子域,这在我的根目录中重写以捕获子域和文件夹:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.mysite.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([^.]+).mysite.com$ [NC]
RewriteRule ^(.*)$ process.php?id=%2
RewriteRule ^([^/.]+)/?$ process.php?id=%2/$1 [L]
倒数第二行应该只是带我们去process.php?id=子域(如果没有请求子文件夹)。最后一行应该带我们去process.php?id=subdomain/subfolder/如果确实有子文件夹请求(如subdomain.mysite.com/subfolder/)。
每一个都有自己的作用,但放在一起不起作用。如果没有指定子文件夹,我只想使用第一个,如果有,则使用最后一个。我怀疑它们需要与regex组合,但我不知道如何表达?