Подскажите по регулярному выражению-2

12
DV
На сайте с 01.05.2010
Offline
644
1208

Вроде просто всё, а не работает.

RewriteRule ^(.*)(?<!robots.txt)$ http://site.ru/forum/ [R=301,L]

Суть: перенаправлять всех в папку /forum/, если не запрашивается robots.txt.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#1

ммм.... а rewrite уже умеет считывать файлы?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
siv1987
На сайте с 02.04.2009
Offline
427
#2

Так вродь работает

RewriteRule ^(?!robots.txt)(.*)$ http://site.ru/forum/ [R=301,L]
LEOnidUKG:
ммм.... а rewrite уже умеет считывать файлы?

Внезапно!

DV
На сайте с 01.05.2010
Offline
644
#3

LEOnidUKG

:смущающийся смайлик:

siv1987

Не хочет

siv1987
На сайте с 02.04.2009
Offline
427
#4
DenisVS:

siv1987
Не хочет

Странно, у меня на локалке работает.

Юзай тогда RewriteCond что-ли

RewriteCond %{REQUEST_URI} !^/(robots.txt|forum)

RewriteRule (.*) http://site.ru/forum/ [L, R=301]

а да, у меня для папки форум другой htaccess. первое правило не распространяется на него, иначе получим зацикливание.

siv1987 добавил 11.11.2010 в 13:26

а да, у меня для папки форум другой htaccess. первое правило не распространяется на него, иначе получим зацикливание.

Точно))

RewriteRule ^(?!robots.txt|forum)(.*)$ http://site.ru/forum/ [R=301,L]

DV
На сайте с 01.05.2010
Offline
644
#5

siv1987

А при каком сочетании .htaccess в корне и папке у тебя работает? Я перепробовал всё что можно. Либо однозначно перенаправляет в папку, либо 500 выдаёт.

Orangesoda
На сайте с 22.08.2010
Offline
17
#6

DenisVS,

А Вы хотите перенаправлять ВСЕ запросы, кроме robots.txt, даже картинки и css?

Попробуйте вот это:

RewriteCond %{REQUEST_URI} !^(robots\.txt|forum)

RewriteRule ^(.*)$ forum/$1 [L,QSA]

DV
На сайте с 01.05.2010
Offline
644
#7

Orangesoda, да, просто у меня нет главной страницы, и мне надо, чтобы люди и поисковики попадали прямиком на форум. А robots.txt как-о надо скармливать, при любом из рерайтов перебрасывает на главную форума.

siv1987
На сайте с 02.04.2009
Offline
427
#8
DenisVS:
siv1987
А при каком сочетании .htaccess в корне и папке у тебя работает? Я перепробовал всё что можно. Либо однозначно перенаправляет в папку, либо 500 выдаёт.

Работают оба варианта. Если и с реврайт конд не заработало, то ты явно там что-то шаманишь.

С этим что отдает? положить в корень сайта.

RewriteRule ^(?!robots.txt|forum)(.*)$ http://site.ru/forum/ [R=301,L]

Редиректит любую ссылку на папку '/forum/', если только она не начинается с 'роботс' или 'форум' (защита от 500).

DV
На сайте с 01.05.2010
Offline
644
#9

Захожу на сайт и браузер циклится до зависания.

Если и с реврайт конд не заработало, то ты явно там что-то шаманишь.
Хм.. А вот этот код работает — исправно с www перенаправляет:

RewriteCond %{HTTP_HOST} ^www.site.ru$
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
siv1987
На сайте с 02.04.2009
Offline
427
#10

Попробуй еще так

RewriteCond %{REQUEST_URI} !^/(robots\.txt|forum)

RewriteRule .* http://localhost/forum/? [L,R=301]
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий