COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

Редирект 301 htaccess


beadrick

Recommended Posts

Переделал сайт...на движке ancart_ocshop_cms_1_5_6_4

Подскажите в чем лажа.... делаю переадресацию старых страниц(как как много на них ссылок

htaccess:

Redirect 301 /oracal http://tehma.com.ua/shirokoformatnaya-pechat/oracal

а на выходе получаю:

http://tehma.com.ua/shirokoformatnaya-pechat/oracal?_route_=oracal

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 51
  • Created
  • Последний ответ

У меня так обычно работает
 

RewriteCond %{QUERY_STRING} ^_route_=категория$
RewriteRule ^(.*)$ http://сайт.com.ua/категория/подкатегория/? [R=301,L]

Ну, вы поняли ;)

Ссылка на комментарий
Поделиться на других сайтах

У иеня так обычно работает

RewriteCond %{QUERY_STRING} ^_route_=категория$

RewriteRule ^(.*)$ http://сайт.com.ua/категория/подкатегория/? [R=301,L]

Ну, вы поняли ;)

огроменное спс

Ссылка на комментарий
Поделиться на других сайтах

  • 6 months later...

Добрый вечер.

У меня аналогичная проблема, делаю переадресацию страниц в файле .htaccess, но после переадресации выдает урл ?_route_=старая ссылка попробовал вышеуказанный способ, никак переадресация не реагирует. 
Помогите пожалуйста в этой проблеме.

Ссылка на комментарий
Поделиться на других сайтах

  • 3 weeks later...

Тоже проблема с 301 редиректом.

Хочу задиректить страницу с тегами на подкатегорию.

Но там параметры...

 

Кто силен, может поможет?

Страница с которой редиректить:

http://Magazin.loc/index.php?route=product/search&tag=%D0%B7%D0%B5%D0%BB%D0%B5%D0%BD%D1%8B%D0%B9%20%D1%86%D0%B2%D0%B5%D1%82

На которую редиректить:

http://Magazin.loc.loc/category1/category2/Category3/

Ссылка на комментарий
Поделиться на других сайтах

  • 3 months later...
Оставлю здесь, вдруг кому пригодится.
 
Для 301 редиректа используется такая конструкция:
RewriteCond %{QUERY_STRING} ^_route_=<откуда редирект>$
RewriteRule ^(.*)$ <куда редирект>? [R=301,L]

<откуда редирект> - адрес страницы (товара, категории, статьи) откуда будет редирект, без доменного имени.

 

Пример: Если адрес страницы www.site.ru/category/product_1.html или www.site.ru/category/product_1/

получаем:

RewriteCond %{QUERY_STRING} ^_route_=category/product_1.html$ или
RewriteCond %{QUERY_STRING} ^_route_=category/product_1/$

<куда редирект> - адрес страницы, куда будет настроен редирект

 

Пример: Если адрес страницы www.site.ru/category/product_2.html или www.site.ru/category/product_2/

получаем:

RewriteRule ^(.*)$ www.site.ru/category/product_2.html? [R=301,L] или
RewriteRule ^(.*)$ www.site.ru/category/product_2/? [R=301,L]

В итоге имеем:

RewriteCond %{QUERY_STRING} ^_route_=category/product_1.html$
RewriteRule ^(.*)$ www.site.ru/category/product_2.html? [R=301,L]
RewriteCond %{QUERY_STRING} ^_route_=category/product_1/$
RewriteRule ^(.*)$ www.site.ru/category/product_2/? [R=301,L]

Если нужно сделать редирект с нескольких похожих страниц (дублей), необходимо использовать символы . и *

 

О синтаксисе .htaccess можно почитать здесь.

 

Ссылка на комментарий
Поделиться на других сайтах

Вечер добрый, не подскажите, как редирект прописать?

У меня на сайте есть форум, так вот, путь к веткам форума выглядит так:

https://сайт.org/forum/index.php/board,9.0.html

А хотелось бы так:

https://сайт.org/forum/board,9.0.html

 

Сделал так:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /forum/index\.php\ HTTP/ 
RewriteRule ^forum/index\.php$ /forum/ [R=301,L]

но так только с главной страницы форума убирается, а при входе в какую нибудь ветку опять отрастает

Ссылка на комментарий
Поделиться на других сайтах

Какая часть адреса меняется https://сайт.org/forum/index.php/board,9.0.html

Можете прислать несколько ссылок на разные ветки форума?

 

Для ссылок из вашего сообщения попробуйте так:

RewriteCond %{QUERY_STRING} ^_route_=forum/index.php/board,9.0.html$
RewriteRule ^(.*)$ https://сайт.org/forum/board,9.0.html? [R=301,L]

 

Эта конструкция для редиректа в OC, с другим движком она может отличаться.

Ветка форума по первой ссылке должна быть доступна и по второй, тогда редирект будет работать

Ссылка на комментарий
Поделиться на других сайтах

12 часа назад, gyurza2000 сказал:

Вечер добрый, не подскажите, как редирект прописать?

У меня на сайте есть форум, так вот, путь к веткам форума выглядит так:

https://сайт.org/forum/index.php/board,9.0.html

А хотелось бы так:

https://сайт.org/forum/board,9.0.html

 

Сделал так:


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /forum/index\.php\ HTTP/ 
RewriteRule ^forum/index\.php$ /forum/ [R=301,L]

но так только с главной страницы форума убирается, а при входе в какую нибудь ветку опять отрастает

 

 

А на чем форум?

Ссылка на комментарий
Поделиться на других сайтах

В 27.11.2015, 14:23:13, savage4pro сказал:

попробуйте поискать здесь

По Вашей ссылке модуль, который добавляет в .htaccess следующие строки:

RewriteEngine on
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]

Наверное это работает, если форум в корне домена, но у меня форум в подкаталоге: https://site.org/forum
морду форума открывает без index.php, но, при попытке войти в какую либо ветку редиректит на 404 site.org

помогите подправить, если не сложно

 

Ссылка на комментарий
Поделиться на других сайтах

 

В 22.11.2015, 2:47:19, RHCk сказал:

Можете прислать несколько ссылок на разные ветки форума?

Если вы всё же покажете как выглядят ссылки на ветки форума сейчас и что хотите получить в итоге, это значительно упростит и ускорит решение вашего вопроса.

По крайней мере я так думаю.

P.S. Доменное имя можно не писать, а ссылки нужны, чтобы понимать, что в них общего и против чего боремся

P.P.S. Ещё можно спросить тут - www.simplemachines.ru. Потому как логичнее настроить редирект движком форума.

Ссылка на комментарий
Поделиться на других сайтах

чтобы убрать index.php из ссылок, нужно корячить файлы форума

по ссылке, которую я вам дал есть также модуль, который делает соответствующие изменения, по крайней мере так заявлено, вам нужен архив RIPTP.zip, но не уверен, что он подойдет для версии 2.1, попытка - не пытка

 

а чтобы редиректить запросы /forum/index.php/... на /forum/... можно обойтись и правилами .htaccess, который следует положить в папку форума

RewriteEngine on
RewriteBase /forum/
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) $1$2 [R=301,NE,L]

 

Ссылка на комментарий
Поделиться на других сайтах

Не работает:

RewriteEngine on
RewriteBase /forum/
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) $1$2 [R=301,NE,L]

при попытке входа в ветку форума:

Not Found

The requested URL /forum/board,9.0.html was not found on this server.

Ссылка на комментарий
Поделиться на других сайтах

пришлось поставить чудный форум этот

вообще такие вопросы именно на форуме форума надо задавать )

у вас включена настройка queryless_urls, хотя и без нее index.php тоже убирается

теперь дело за малым - убрать этот index.php из самих ссылок, чтобы переадресации постоянной не было

попробуйте все же модуль, о котором я писал, может, поможет? не ставьте этот модуль

Ссылка на комментарий
Поделиться на других сайтах

Изменения в файл внёс, после них перекидывает на 404 магаза, если ещё и .htaccess задействовать, тогда

Not Found

The requested URL /forum/board,9.0.html was not found on this server

 

Я прошу прощения, что задаю вопрос тут, но, форум стоит в каталоге магаза, а не в корне домена, поэтому, хотелось бы причесать и магаз и форум

Ссылка на комментарий
Поделиться на других сайтах

Всё, победил, спасибо!!! Не заметил ваш пост про 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*?)([\w]*),(.*)\.html $1index.php?$2=$3 [L,QSA]
Ссылка на комментарий
Поделиться на других сайтах

  • RHCk changed the title to Редирект 301 htaccess

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.