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

时间:2018-01-05 22:41:29

标签: .htaccess redirect mod-rewrite robots.txt

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

这是一个例子

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获得类似的结果?

1 个答案:

答案 0 :(得分:0)

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,请将网址重写为/robots_handler?domain=%2