Редирект 301 htaccess


beadrick
 Поделиться

Рекомендуемые сообщения

Переделал сайт...на движке 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
  • Создано
  • Последний ответ

Активные пользователи темы

Активные пользователи темы

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

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

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

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

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

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

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

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

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

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

  • 6 месяцев спустя...

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

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

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

  • 3 недели спустя...

Тоже проблема с 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 месяца спустя...
Оставлю здесь, вдруг кому пригодится.
 
Для 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.

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

добавьте в .htaccess в папке форума

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*?)([\w]*),(.*)\.html $1index.php?$2=$3 [L,QSA]

 

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

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

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

у вас включена настройка 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 изменил(а) заголовок на Редирект 301 htaccess

Присоединяйтесь к обсуждению

Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.

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

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

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Показать вместо этого как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Нельзя вставлять изображения напрямую. Загрузите или вставьте изображения по URL.

 Поделиться