Я пытаюсь написать правило, которое гласит, что URL не должен содержать текст "карта сайта" в ЛЮБОЙ ЧАСТИ переменной REQUEST_URI:
RewriteCond %{HTTP_USER_AGENT} googlebot|Chrome-Lighthouse|google-structured-data-testing-tool|semrushbot|applebot|bingbot|yandex|baiduspider|ahrefsbot|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest\/0\.|pinterestbot|slackbot|vkShare|W3C_Validator|whatsapp [NC,OR]
RewriteCond %{QUERY_STRING} _escaped_fragment_
RewriteCond %{REQUEST_URI} ^(?!.*?(\.js|\.css|\.xml|\.less|\.png|\.jpg|\.jpeg|\.gif|\.pdf|\.doc|\.txt|\.ico|\.rss|\.zip|\.mp3|\.rar|\.exe|\.wmv|\.doc|\.avi|\.ppt|\.mpg|\.mpeg|\.tif|\.wav|\.mov|\.psd|\.ai|\.xls|\.mp4|\.m4a|\.swf|\.dat|\.dmg|\.iso|\.flv|\.m4v|\.torrent|\.ttf|\.woff|\.svg))
RewriteCond %{REQUEST_URI} !sitemap
RewriteRule ^(index\.html|index\.php)?(.*) https://service.prerender.io/%{REQUEST_SCHEME}://%{HTTP_HOST}/$2 [P,L]
Но, похоже, это не работает. Если URL-адрес https://new.mysite.com/sitemap
, он все еще переписывает URL, даже если он должен соответствовать карте сайта. Также необходимо игнорировать правило для таких URL, как: https://new.mysite.com/sitemap/users/1 et c ..