Mod_rewrite условие игнорирования - PullRequest
0 голосов
/ 28 января 2020

Apache, кажется, игнорирует условие ниже. Я пытаюсь убедиться, что если в запросе URI есть слово sitemap, не выполнять правило перезаписи. Пример:

http://www.mysites.com/sitemap или http://www.mysites.com/sitemap/users/sitemap1.gz

<IfModule mod_proxy_http.c>
    RewriteCond %{HTTP_USER_AGENT} googlebot|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]
</IfModule>

Apache просто игнорирует это и выполняет запрос прокси. Есть идеи?

1 Ответ

0 голосов
/ 28 января 2020

Ну, мой плохой:

RewriteCond %{REQUEST_URI} !^/sitemap(/|$)

Должно было быть:

RewriteCond %{REQUEST_URI} !^sitemap
...