外部域的 Htaccess

Htaccess for external domain

RewriteEngine On
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^(.*).domain\.com
RewriteRule ^(.*)$ load.php?id=%1&q= [NC,QSA,L]

这是我当前的代码

subdomain.domain.com/querystring

条件为domain.com

有什么方法可以达到同样的效果

但是 domain.com 可以是动态的,意味着它可以是 123456.coqwerty1234.xyz/querystring

然而它能够捕获

Domain: qwerty1234.xyz
Query String: querystring

如何让我的 htaccess 检查域是否不包含 domain.com,它将使用 load.php

但将域及其查询字符串作为 ?domain=$domain&query=$querystring

传递给 load.php

谢谢!

已更新 .htaccess

RewriteEngine On
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^(.*).domain\.com
RewriteRule ^(.*)$ load.php?id=%1&q= [NC,QSA,L]

RewriteCond %{REQUEST_URI} !(\.)?(css|js|png|jpg|gif|robots\.txt)$ [NC]
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ load.php?id=%1&q= [NC,QSA,L]

您应该可以将其添加到您的规则中。您无需执行任何特殊操作即可捕获查询字符串。只需保留 QSA flag,请求中的任何其他查询字符串也将发送到 load.php。

RewriteEngine on
RewriteCond %{REQUEST_URI} !(\.)?(css|js|png|jpg|gif|robots\.txt)$ [NC]
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ load.php?domain=%1 [NC,QSA,L]