RewriteCond TestString CondPattern [flags]
\
, то Apache неверно раделит строку и вместо [flags] будет мусор.Safari/537\.36 \(compatible
пробел без \
.'...'
или "..."
.Просто удалите эту строчку и все
RewriteRule ^ - [S=1]
RewriteRule ^ - [F]
оно блокирует всё что не попало в первое.RewriteCond %{REMOTE_ADDR} ^66\.249\.
, но оставить RewriteCond %{REMOTE_ADDR} ^216\.239\.
, то блокировать подсеть 66.249 продолжит. https://api.domain.com/api/v1
<VirtualHost *:443>
и ServerName api.domain.comRewriteEngine On
RewriteRule ^/$ https://admin.domain.com/ [R=301,L]
# Перенаправление с /blog/article.html на /blog/article RewriteCond %{THE_REQUEST} \s/blog/article\.html [NC] RewriteRule ^ /blog/article [R=301,L] # Перенаправление с /blog/article на /blog/article.html (для внутренней обработки) RewriteRule ^blog/article$ /blog/article.html [L]
RewriteCond %{THE_REQUEST} \s/(blog/[^?.]+)\.html
RewriteRule ^ https://site.ru/%1 [R=301,L]
RewriteRule ^blog/[^.]+$ $0.html [L]
foreach ($array as $k => $v) {
$text = str_replace("[$k]", $v, $text);
}
Если location задан префиксной строкой со слэшом в конце и запросы обрабатываются при помощи proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass или grpc_pass, происходит специальная обработка. В ответ на запрос с URI равным этой строке, но без завершающего слэша, будет возвращено постоянное перенаправление с кодом 301 на URI с добавленным в конец слэшом.
/admin
на /admin/
. RewriteCond %{HTTP_HOST} ^spb\.site\.ru [NC]
RewriteCond %{THE_REQUEST} "^\S+ /news/%EF%BF%BDv%EF%BF%BD-rabotu%EF%BF%BD_108/ "
RewriteRule ^ https://spb.site.ru/news/-v-rabotu_108/ [R=301,L]
RewriteCond %{HTTP_HOST} ^spb\.site\.ru [NC]
RewriteCond %{REQUEST_URI} ^/news/\xEF\xBF\xBDv\xEF\xBF\xBD-rabotu\xEF\xBF\xBD_108/$
RewriteRule ^ https://spb.site.ru/news/-v-rabotu_108/ [R=301,L]
https://spb.site.ru/path?query
spb.site.ru
/path
query
GET /path?query HTTP/1.1
можно упростить до
Тут не нужно указывать точный юзер агент для мобильного гугло бота.
Достаточно поиска упоминания строки "Googlebot".