Перейти к содержимому


Redirect 301

redirect 301 shopCMS htaccess

  • Вы не можете ответить в тему
Сообщений в теме: 9

#1 OLEGG

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений
Репутация: 0
Начинающий

Отправлено 08 December 2014 - 09:03 PM

Коллеги, при настройке редиректа 301 с удаляемых страниц (category_83.html) на другие страницы на сайте (category_1.html) либо ничего не происходит, либо возникает ошибка с CGI скриптами и сайт вообще не грузится (500 ошибка).
писал и Redirect 301 и RewriteRule. Во всех случаях ошибки повторяются либо отсутствует перенаправление.

Уже перечитал возможные варианты настройки редиректа на сайте. Не могу найти ответа на данный вопрос.

В чем может быть причина? И как её устранить?

Прикрепленные файлы


  • 0

#2 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 08 December 2014 - 10:28 PM

В чем может быть причина? И как её устранить?

Прежде всего выложить тут не сумбурный поток мыслей, а конкретику в виде строк .htaccess с редиректом,
который не работает.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#3 OLEGG

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений
Репутация: 0
Начинающий

Отправлено 09 December 2014 - 09:18 AM

Во-первых прописывал следующее:
Options +FollowSymLinks


RewriteEngine On


RewriteCond %{HTTP_HOST} ^arabell\.ru$ [NC]

RewriteRule ^(.*)$ http://www.arabell.ru/$1 [R=301,L]

Redirect 301 /category_85.html http://arabell.ru/category_1.html

Redirect 301 http://www.arabell.ru/index.php http://arabell.ru/


Ни один ни второй вариант прямого редиректа не срабатывал.

Затем писал следующий редирект вместо прямого:

RewriteRule ^category_85.html$ category_1.html [R=301,L]

Эффект такой же. И в одном и во втором случаях выдает 500 ошибку.
А при входе на страницу index.php вообще выдает ошибку 404

При этом адреса страниц простые, типа:

http://arabell.ru/category_85.html
  • 0

#4 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 09 December 2014 - 12:52 PM

Я не знаток апача (у меня везде nginx), но:

Redirect 301 http://www.arabell.ru/index.php http://arabell.ru/

Этой строкой вы приведете свой shopCMS к частичной неработоспособности, т.к. index.php в нескольких местах используется с POST-переменными, которые при этом редиректе потеряются. Например, перестанет работать логин на сайт.

RewriteRule ^category_85.html$ category_1.html [R=301,L]

1. В этой строке забыт слэш перед точкой ^category_85\.html$
2. Эта строка должна стоять ПЕРЕД более общими регулярными выражениями типа
RewriteRule ^category_([0-9]+)\.html$ index.php?categoryID=$1 [L]
иначе до нее просто дело не дойдет.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#5 OLEGG

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений
Репутация: 0
Начинающий

Отправлено 09 December 2014 - 01:24 PM

Спасибо за совет, удастся ли решить, напишу.
  • 0

#6 idal

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 243 сообщений
Репутация: 7
Начинающий
  • ГородКиев

Отправлено 09 December 2014 - 05:46 PM

я делал так
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html|htm)\ HTTP/
RewriteRule ^index.(php|html|htm)$ http:/сайт.com.ua/ [R=301,L]
RewriteBase /
RewriteCond %{THE_REQUEST} /(\.+) [OR]
RewriteCond %{THE_REQUEST} /(\?+) [OR]
RewriteCond %{THE_REQUEST} /(/+)

  • 0

#7 OLEGG

    Новичок

  • Пользователи
  • Pip
  • 4 сообщений
Репутация: 0
Начинающий

Отправлено 09 December 2014 - 07:10 PM

Я не знаток апача (у меня везде nginx), но:

Redirect 301 http://www.arabell.ru/index.php http://arabell.ru/

Этой строкой вы приведете свой shopCMS к частичной неработоспособности, т.к. index.php в нескольких местах используется с POST-переменными, которые при этом редиректе потеряются. Например, перестанет работать логин на сайт.

RewriteRule ^category_85.html$ category_1.html [R=301,L]

1. В этой строке забыт слэш перед точкой ^category_85\.html$
2. Эта строка должна стоять ПЕРЕД более общими регулярными выражениями типа
RewriteRule ^category_([0-9]+)\.html$ index.php?categoryID=$1 [L]
иначе до нее просто дело не дойдет.


Все сработало отлично. Спасибо за помощь! Проблема была в отсутствии слэша и в неправильном расположении кода.
  • 0

#8 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 09 December 2014 - 07:16 PM

я делал так

И работала форма регистрации? :)
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#9 idal

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 243 сообщений
Репутация: 7
Начинающий
  • ГородКиев

Отправлено 09 December 2014 - 09:03 PM

я делал так

И работала форма регистрации? :)

У меня на данный момент так стоит, форма регистрации работает, но редирект с index.php не работает.
  • 0

#10 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 24 May 2015 - 02:32 PM

Есть такая строчка:
RewriteRule ^product_([0-9]+)\.html$ index.php?productID=$1 [L]

К примеру, адрес товара работает и так: http://сайт/product_22.html и так: http://сайт/index.php?productID=22
Как сделать чтобы всегда выдавало и перебрасывало именно так: http://сайт/product_22.html даже если человек набрал в строке так http://сайт/index.php?productID=22
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.