• UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепропетровск
  • +38(062) 210-24-93  Донецк
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 449-04-21  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 007-72-35  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

SEO. .htaccess Как сделать редирект 301 с двумя GET переменными?

Форумы SEO .htaccess Как сделать редирект 301 с двумя GET переменными?
contaktt
10.11.2016 11:46
хостинг: есть
домен: есть
.htaccess Как сделать редирект 301 с двумя GET переменными?
Здравствуйте.

Подскажите пожалуйста, как сделать редирект 301 с двумя GET переменными?

Проблема в следующем:

если list=1, или 0, или любому символу, кроме цифр

id='при этом может быть любое число, и только число'


http://www.site.org.ua/view_main.php?id=54&list=1

http://www.site.org.ua/view_main.php?id=54&list=0

http://www.site.org.ua/view_main.php?id=54&list=dfghfg


преобразовать к виду:

http://www.site.org.ua/view_main.php?id=54 т.е. без GET-переменной list

При других значениях list адрес не трогать.

Вот что я набросал, но почему-то не работает:

RewriteEngine on
RewriteBase /
RewriteCond %{QUERY_STRING} ^id=(\d+)$ [NC]
RewriteCond %{QUERY_STRING} ^list=1$ [NC,OR]
RewriteCond %{QUERY_STRING} ^list=0$ [NC,OR]
RewriteCond %{QUERY_STRING} ^list=(\D+)$ [NC]
RewriteRule ^(.*)$ http://www.site.org.ua/view_main.php?id=%1? [R=301,L]

Не пойму, что не так?
Илья
11.11.2016 10:01
хостинг: есть
домен: есть
1
А не проще ли проводить такую проверку на уровне PHP дописав несколько строк в скрипте view_main.php?
IMHO при помощи RewriteEngine не стоит решать 100% задач с редиректом.
contaktt
11.11.2016 11:36
хостинг: есть
домен: есть
для кого как...

я считаю не проще. так обычно многие програмеры делают - редиректы с помощью модуля mod_rewrite и конфигурационного файла .htaccess. И по безопасности это понадёжнее, хотя и геморно иногда бывает.

проблему уже решил... были ошибки в синтаксисе и очерёдности правил
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Тема закрыта по истечению срока давности.
Горячая линия
(044)
392 74 33
другие города