jkm

Рейтинг
120
Регистрация
20.02.2014
Socialkin:
Присоединяюсь к вопросу.

RewriteRule ^([^/]+)/index\.html$ /$1 [R=301,L]

(?s)<offer [^>]* available="false">.*?</offer>

(?m-s)^\.com/(?=.*[A-Z])(?!.*(?:brand|search|/)).+

https://regex101.com/r/anV1dl/1/

nichy:

/ajax-slider-project.php?id=21&img=galery/...
/en/ajax-slider-project.php?id=122&img=new-galery/...
/ajax-slider-project.php?id=86&img=old-galery/...

То есть, все URL которые содержат значение ajax-slider-project.php?id переадресовывались 301 редиректом, на главную https://site.ru

RewriteCond %{QUERY_STRING} ^id=

RewriteRule ajax-slider-project\.php$ https://site.ru/? [R=301,L]

Или

RewriteCond %{THE_REQUEST} /ajax-slider-project\.php\?id=

RewriteRule ^ https://site.ru/? [R=301,L]

weber_user, примерно так:

RewriteCond %{THE_REQUEST} " /(test/test1)/pley\.php\?c=(/[^ &]+)"

RewriteRule ^ https://site.ru/%1%2? [R=301,L]

RewriteRule ^test/test1(/.+\.mp4)$ /test/test1/pley.php?c=$1 [L]

Если это обычный шаред хостинг и нет доступа к httpd.conf, то как-то так:

RewriteCond expr "-R '111.1.0.0/16' || -R '222.2.2.0/24' || -R '33.0.0.0/8'"

RewriteRule ^ redirect.php [L]

redirect.php

<?php


$array = ['http://site1.ru', 'http://site2.org', 'http://site3.com'];

$link = $array[mt_rand(0, count($array) - 1)];

header("Location: $link", true, 301);

RewriteCond expr "-R '111.1.0.0/16' || -R '222.2.2.0/24' || -R '33.0.0.0/8'"

RewriteRule ^ https://www.youtube.com/ [R=301,L]

RewriteCond expr "-R '111.1.0.0/16'"  [OR]

RewriteCond expr "-R '222.2.2.0/24'" [OR]
RewriteCond expr "-R '33.0.0.0/8'"
RewriteRule ^ https://www.youtube.com/ [R=301,L]

Сразу после RewriteEngine On добавить:

RewriteRule ^dezinfekciya-ruk/.*$ /dezinfektsiya/$0 [R=301,L]

Можно указать сразу несколько категорий:

RewriteRule ^(cat1|cat2|cat3)/.*$ /new/$0 [R=301,L]

viktor02, просто добавить RewriteCond %{ENV:REDIRECT_STATUS} ^$

RewriteCond %{ENV:REDIRECT_STATUS} ^$

RewriteCond %{HTTP_HOST} ^site\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/dron/
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]

dma84, при составлении правил важно не забывать, что mod_rewrite запускает обработку запроса снова и снова, до тех пор, пока он не перестанет меняться.

Последнее правило изменит запрос на index.php и Apache запустит цикл обработки запроса заново с первого RewriteRule.

В итоге с любой страницы будет редирект на /index.php/.

Поможет дополнительная проверка RewriteCond %{ENV:REDIRECT_STATUS} ^$

или RewriteCond %{REQUEST_FILENAME} !-f

Всего: 749