@nikita0509

Как правильно написать правило htaccess?

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

Нужен редирект.
с domain.ru/page1/1 на domain.ru/page1
с domain.ru/page1/2 на domain.ru/page1
с domain.ru/page1/25 на domain.ru/page1
с domain.ru/page1/25/123 на domain.ru/page1
с domain.ru/page1/55/123 на domain.ru/page1

и так далее... (все эти страницы генерируются вордпрессом самостоятельно)
  • Вопрос задан
  • 166 просмотров
Решения вопроса 1
@oaksaudio
Редирект со старой статической (чпу) страницы на новую страницу:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.ваш_сайт\.ru$ [NC]
RewriteRule ^старая_страница $ новая_страница [R=301,L]

или
Redirect 301 /page1/1 domain.ru/page1
Redirect 301 /page1/2 domain.ru/page1
Redirect 301 /page1/25 domain.ru/page1
Redirect 301 /page1/25/23 domain.ru/page1

С помощью директивы RedirectMatch можно настроить редиректы с использованием регулярных выражений:
RedirectMatch ^/category/(.*)$ http://example.org/bar/$1

Функция
add_action( 'template_redirect', function() {
    if ( preg_match( '#^/subscribe/?$#i', $_SERVER['REQUEST_URI'] ) ) {
        wp_redirect( 'http://example.org/path/to/subscribe', 301 );
        exit;
    }
} );
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@samanev
Работаю в веб-студии Клондайк
RewriteEngine On
RewriteBase /

## Два выражения выше уже должны быть в идеале ##
RewriteCond %{REQUEST_URI} ^(.*)(\/page1\/)(\S+)$
RewriteRule ^(.*)$ %2 [R=301,L]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы