如何将子域重定向到另一个路由器提取作为参数

How to redirect subdomain to another router extracting as argument

我需要将所有 robots.txt 重定向到特定的根域 url。

这是一个例子

https://example.com/robots.txt => https://example.com/robots_handler?domain=
https://sub1.example.com/robots.txt => https://example.com/robots_handler?domain=sub1
https://sub2.example.com/robots.txt => https://example.com/robots_handler?domain=sub2

希望你有想法。

如果不需要硬编码域就可以了。

如何使用 htaccess 获得类似的结果?

RewriteCond %{HTTP_HOST} ^(([a-z0-9-]+)\.)?example\.com$ [NC]
RewriteRule ^robots.txt$ /robots_handler?domain=%2 [L]

RewriteCond 可用于捕获子域,然后它可以作为查询字符串传递给 robots_handler。 %1 是对正则表达式部分 (([a-z0-9-]+)\.) 的反向引用,而 %2 是对正则表达式部分 ([a-z0-9-]+) 的反向引用。如果请求URI是robots.txt,将URL改写成/robots_handler?domain=%2.