目前我有以下规则:
- 如果用户是Yandexbot或bingbot,请为index.html
以外的所有页面提供403错误
RewriteCond %{HTTP_USER_AGENT} YandexBot|bingbot [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(index\.html) [NC]
# RewriteRule ^(.*)$ /index.html? [L]
RewriteRule .* - [F]
但我发现此规则阻止这些机器人访问http://example.com
。当机器人请求这些URL时,我将在没有301的情况下提供“index.html”。
http://example.com
http://example.com/
http://example.com/index.html
但我希望这些机器人不要访问这些网址。我的意思是域名后面没有任何字符:
http://mywebsite.com/?aaa
ttp://mywebsite.com/abcd
http://mywebsite.com/1234some
htaccess文件怎么样?
答案 0 :(得分:0)
尝试:
RewriteCond %{HTTP_USER_AGENT} YandexBot|bingbot [NC]
RewriteCond %{THE_REQUEST} !\ /+index\.html(\ |$)
RewriteCond %{THE_REQUEST} \ /+[^\ ]+
RewriteRule ^ - [L,F]
所以:
/index.html
/