У меня есть одностраничное приложение (реагирует, реагирует на маршрутизатор), и я пытаюсь перенаправить поиск и отправить ботов / сканеров в другую папку со статическими снимками приложения.У меня есть настройка .htaccess, которая в основном работает, но в ней отсутствуют некоторые вещи.
- В настоящее время она правильно перенаправляет с
domain.com/something
на domain.com/snap/something/
- Редактировать: теперь это правильноперенаправление
domain.com
на domain.com/snap/
- Он не обрабатывает
domain.com/non-existing
, он должен перенаправить на domain.com/snap/404.html
, но в настоящее время перенаправляет на domain.com/snap/non-existing
.htaccess У меня естьis
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]
# For crawlers show snapshots
RewriteCond %{HTTP_USER_AGENT} googlebot|bingbot|yandex|baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest|slackbot|vkShare|W3C_Validator [NC,OR]
RewriteCond %{QUERY_STRING} _escaped_fragment_
RewriteCond %{REQUEST_URI} !^/(snap) [NC]
# Proxy the request
RewriteRule ^(?!.*?(\.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))(.*) /snap/$2/ [R=301,L]
# Don't rewrite files or directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# If the requested pattern is file and file doesn't exist, send 404
RewriteCond %{REQUEST_URI} ^(\/[a-z_\-\s0-9\.]+)+\.[a-zA-Z]{2,4}$
RewriteRule ^ - [L,R=404]
# otherwise use history router
RewriteRule ^ /index.html [L]
</IfModule>
Редактировать: Я переместил часть сканера .htaccess вверх, и теперь он правильно обрабатывает сценарий domain.com -> domain.com/snap/
, но я не могу понять, как заставить его обрабатывать несуществующие маршруты.