Задать вопрос
sabramovskikh
@sabramovskikh

Как сделать такой редирект?

RewriteCond %{REQUEST_URI} /products/$
  RewriteCond %{QUERY_STRING} ^SECTION_ID=3&ELEMENT_ID=1$
  RewriteRule ^.*$ http://site.ru/products/section/product_name/ [L,R=301]

Строка в браузере /products/?SECTION_ID=3&ELEMENT_ID=1
Редирект происходит на /var/www/user/data/www/site.ru/products/section/product_name/?SECTION_ID=3&ELEMENT_ID=1

Весь htaccess
Options -Indexes 
ErrorDocument 404 /404.php
<IfModule mod_php5.c>
  php_flag session.use_trans_sid off
  #php_value display_errors 1
  #php_value mbstring.internal_encoding UTF-8
</IfModule>

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
  #
  RewriteCond %{REQUEST_URI} /products/$
  RewriteCond %{QUERY_STRING} ^SECTION_ID=3&ELEMENT_ID=1$
  RewriteRule ^.*$ site.ru [L,R=301]

</IfModule>

<IfModule mod_dir.c>
  DirectoryIndex index.php index.html
</IfModule>

<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresByType image/jpeg "access plus 3 day"
  ExpiresByType image/gif "access plus 3 day"
  ExpiresByType image/png "access plus 3 day"
  ExpiresByType text/css "access plus 3 day"
  ExpiresByType application/javascript "access plus 3 day"  
</IfModule>


Добавил RewriteBase / путь абсолютный пропал, но гет параметр остается в адресной строке
  • Вопрос задан
  • 155 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
sabramovskikh
@sabramovskikh Автор вопроса
RewriteBase / 

RewriteCond %{REQUEST_URI} /products/$
RewriteCond %{QUERY_STRING} ^SECTION_ID=10&ELEMENT_ID=153$
RewriteRule ^.*$ /products/trafarety/trafaret-etno/? [L,R=301]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы