Редирект с динамических страниц .htaccess

12
GA
На сайте с 16.06.2013
Offline
61
893

Господа, подскажите, пожалуйста, а то уже несколько часов в инете роюсь и всё бес толку...

необходимо через возможности .htaccess отправлять со страниц вида site.ru/page/1 направлять на главную site.ru

1 - это, соответственно, номер страницы

пробовал так RedirectPermanent /page/* http://site.ru однако, безрезультатно.

IL
На сайте с 20.04.2007
Offline
435
#1

Так примерно..

RewriteRule ^page/[0-9] /? [R=301,L]
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
GA
На сайте с 16.06.2013
Offline
61
#2
ivan-lev:
Так примерно..
RewriteRule ^page/[0-9] /? [R=301,L]

нет, не сработало. :(

IL
На сайте с 20.04.2007
Offline
435
#3
Green arrow:
нет, не сработало.

:D исчерпывающий ответ..

в .htaccess что ещё есть?

- Как гвоздь забить?
- молотком
- не помогло.
- ударять пробовал?
- А что надо?

GA
На сайте с 16.06.2013
Offline
61
#4
ivan-lev:
:D исчерпывающий ответ..
в .htaccess что ещё есть?
- Как гвоздь забить?
- молотком
- не помогло.
- ударять пробовал?
- А что надо?

прошу прощения, не подумал, что необходимы ещё какие-то данные.

двиг - последний ВП

начинка .htaccess

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^page/[0-9] /? [R=301,L]
</IfModule>
# END WordPress

т.е. вашу строчку я тут уже встроил. пробовал её менять её положение: сверху, снизу, за пределами всего блока - одним словом камасутра какая-то, но не помогло 🤪:(

IL
На сайте с 20.04.2007
Offline
435
#5
Green arrow:
пробовал её менять её положение: сверху, снизу, за пределами всего блока

Под

RewriteBase /

ей самое место

C
На сайте с 26.03.2005
Offline
153
#6
ivan-lev:
Так примерно..
RewriteRule ^page/[0-9] /? [R=301,L]

по моему, вопросительный знак после / - излишен, попробуй

RewriteRule ^page/[0-9] / [R=301,L]
php/js/mysq - ПРИНИМАЮ ЗАКАЗЫ. telegram @zzmaster2
GA
На сайте с 16.06.2013
Offline
61
#7
ivan-lev:
Под

ей самое место
Cosinus:
по моему, вопросительный знак после / - излишен, попробуй

RewriteRule ^page/[0-9] / [R=301,L]

Обоим выражают огромнейшую благодарность. Вставил под RewriteBase / и заработало.

А касательно "?" в конце. Пробовал и с ним и без него, результат одинаковый. Возможно конечно это кэш остался в браузере. Сейчас попробую с ноута и других браузеров проверить оба варианта. Но если результат тот же, оставлю без "?". Но, когда рылся в инете, то наткнулся на мануал, в котором говорилось ^ - начало строки, а $ - конец. Так что, в данном случаи следует использовать $? или он для чего-то другого?

C
На сайте с 26.03.2005
Offline
153
#8

не, $ - это конец строки сопоставления, то есть можно так написать

^page/[0-9]$

если без $, то возьмет все, что начинается с page/[0-9]

IL
На сайте с 20.04.2007
Offline
435
#9
Green arrow:
А касательно "?" в конце. Пробовал и с ним и без него, результат одинаковый.

Это на случай ссылок вида

http://site.ru/page/1?blablabla

GA
На сайте с 16.06.2013
Offline
61
#10

Спасибо.

А ещё вопрос про редирект, только с другим заголовком. В данном случаи мы использовали 301 - перманентный.

А вот если я хочу отправить с желаемой страницы на ошибку 404? Попробовал поменять в строчке значение 301 на 404, но результат немного не тот: страница ошибки сформировалась, но от веб-сервера хостинга, а не от движка сайта. Т.е. отобразилась 404 страница, которую исхользует хостинг, а не та, которую генерирует cms. Данный момент как-то можно скорректировать возможностями .htaccess или же только php в движке?

12

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