RewriteCond TestString CondPattern [flags]
\
RewriteCond %{THE_REQUEST} !\ /calculator/
RewriteCond %{THE_REQUEST} "! /calculator/"
GET /calculator/?a=1&b=2 HTTP/1.1
RewriteCond %{THE_REQUEST} "!^\S+ /check/"
RewriteCond %{HTTP_REFERER} ^$
RewriteCond %{HTTP:FROM} !(googlebot|yandex)
RewriteRule .* https://jurist-arbitr.ru/check/ [R=302,END]
RewriteRule ^check/$ /index.php [END]
RewriteCond %{HTTP_REFERER} ^$
RewriteCond %{HTTP:FROM} !(googlebot|yandex)
RewriteRule .* https://jurist-arbitr.ru/check/ [R=302,END]
Если я ставлю свой код перед ними, то начинается петля переадресаций и сайт не открывается.
/check
не нужно перенаправлять снова на /check
.RewriteCond %{THE_REQUEST} "!^\S+ /check "
RewriteCond %{HTTP_REFERER} ^$
RewriteCond %{HTTP:FROM} !(googlebot|yandex)
RewriteRule .* /check [R=302,END]
RewriteRule ^check$ /index.php [END]
RewriteCond %{HTTP_REFERER} ^$
RewriteCond %{HTTP:FROM} !(googlebot|yandex)
RewriteRule .* /check [R=302,END]
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.php;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
try_files $uri $uri/ /index.php?route=$uri&$args;
/index.php -> /
/index.html -> /
/dir/index.php -> /dir/
/dir/index.html -> /dir/
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
<VirtualHost *:80>
слушает на всех интерфейсах и после ProxyPass /api http://141.x.x.25/
запрос снова попадёт в этот же VirtualHost.ProxyPass / http://127.0.0.1:3000/
<VirtualHost 141.x.x.25:80>
ProxyPass /api http://127.0.0.1
RewriteRule ^(.*)services/b2b b2b [R=301, L]
[R=301, L]
должно быть [R=301,L]
./services/b2b
куда редиректит?/services/b2b?123
/services/b2b/123
Redirect 301 /page/subpage /
удалили?При ручном режиме у меня выходит ошибка Internal Error или что то подобное.
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ public/index.php?$1 [L,QSA]
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(.*)$ public/$1 [L]
$str = preg_replace_callback(
'#\(((?>[^\(\)]+)|(?R))+\)#u',
function($mtchs) {
return preg_replace( '#\s+#u', '^', $mtchs[0] );
},
$str
);
if (preg_last_error() !== PREG_NO_ERROR) {
// Что-то пошло не так
}
Слава, это про настройки DNS севера. А с файлом /etc/hosts так не выйдет. Нужен DNS сервер.