我需要将请求文件从所有可能的子域重定向到位于顶级域的一个文件:
^.example.com/robots.txt >> http://example.com/robots.txt
robots.txt可能存在于子域httpdocs
中,也可能不存在,此规则必须首先执行(我们希望提前阻止所有抓取工具)。
Plesk 11.0.9提供的文件夹结构是:
example.com/
...
httpdocs/
subdomains/
sub1/
httpdocs/
example.com
归root
所有。
在哪里可以添加一个可以触发所有子域的apache重写规则?
编辑:我使用ping doesntexist.example.com
进行了测试,请求确实被定向到example.com
,这意味着在处理过程中应该有一个点来执行重写逻辑。
答案 0 :(得分:0)
尝试将此规则放在/example.com/httpdocs/.htaccess
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?!www\.)[^.]+\.(example\.com)$ [NC]
RewriteRule ^robots\.txt$ http://%1/$0 [L,R=302,NC]