Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Не получается редирект в .htaccess


phoen

Recommended Posts

Не получается сделать редирект в .htaccess

Необходимо с страницы https://site.ru/noutbuk/acer редирект https://site.ru/noutbuk/noutbuk-acer

 

Пробовал

 

RewriteRule ^/noutbuk/acer$ https://site.ru/noutbuk/noutbuk-acer [R=301,L]

Не помогло

 

Redirect 301 /noutbuk/acer https://site.ru/noutbuk/noutbuk-acer
В этом случае - Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.
Эта проблема может возникать при отключении или запрещении принятия кук.
    
RewriteRule ^noutbuk/acer /noutbuk/noutbuk-acer$1 [R=301,L]

Не помогло

 

Какие еще варианты?:(

 

Надіслати
Поділитися на інших сайтах


23 минуты назад, phoen сказал:

Какие еще варианты?:(

Вариант только один - не пихать редиректы куда попало.

Подозреваю, что вы свой редирект вписали где-нибудь в конец файла, а все редиректы должны быть перед блоком:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

 

  • +1 2
Надіслати
Поділитися на інших сайтах


19 часов назад, Dotrox сказал:

Вариант только один - не пихать редиректы куда попало.

Подозреваю, что вы свой редирект вписали где-нибудь в конец файла, а все редиректы должны быть перед блоком:


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

 

 

спасибо) помогло) хоть сперва ставил после RewriteBase / и не работало, потом в самом конце)

так перед блоком заработало:

RewriteRule ^noutbuk/acer /noutbuk/noutbuk-acer$1 [R=301,L]

Надіслати
Поділитися на інших сайтах


4 часа назад, phoen сказал:

так перед блоком заработало:

RewriteRule ^noutbuk/acer /noutbuk/noutbuk-acer$1 [R=301,L]

Это не совсем неправильный редирект.

$1 - это переменная, которая содержит в себе значение выдранное регуляркой в изначальной ссылке, но у вас там нет регулярок для выдирания чего-либо.

Если вам нужно перенаправить одну конкретную страницу на другую страницу, то ни регулярки, ни переменные не нужны.

 

 

Кстати, директиву Redirect, которую вы пытались использовать вначале, вообще лучше не использовать - за неё отвечает другой модуль Apache и это может приводить к непредсказуемым последствиям (в чём вы уже успели убедиться).

Змінено користувачем Dotrox
  • +1 1
Надіслати
Поділитися на інших сайтах


4 минуты назад, Dotrox сказал:

Это не совсем неправильный редирект.

$1 - это переменная, которая содержит в себе значение выдранное регуляркой в изначальной ссылке, но у вас там нет регулярок.

Если вам нужно перенаправить одну конкретную страницу на другую страницу, то ни регулярки, ни переменные не нужны.

 

 

Кстати, директиву Redirect, которую вы пытались использовать вначале, вообще лучше не использовать - за неё отвечает другой модуль Apache и это может приводить к непредсказуемым последствиям (в чём вы уже успели убедиться).

 

спасибо за помощь

последний раз пробовал через

Redirect 301 /nettop/asus/ https://site.ru/nettop/nettop-asus

3-4 редиректа заработало, думал настроил, при проверке остальных 10 - оказалась, что нет.

 

теперь понял

RewriteRule ^nettop/asus /nettop/nettop-asus [R=301,L]

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.