Tigr
Новичок
Всем, привет.
1) RewriteRule ^catalog/([0-9]+)/?$ view.php?id=$1 [L]
2) RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ [NC]
RewriteRule ^view.php$ catalog/%1/? [R=301,L]
По отдельности 1 и 2 работают
При совмещении происходит зацикливание.
Почему? Интересует чисто теоретически, поэтому не спрашивайте зачем так сделано.
По идее когда запрашивается страница вида: view.php?n=3, то по правилам 2 происходит 301 редирект на /catalog/3/, а этот запрос уже схватывает правило 1. Опять же по идее оно должно отдать запрос скрипту view.php и закончить на этом.
Но этого не происходит. После редиректа циклически происходит вызов /catalog/3/ с ответом 301
Что я упустил?
1) RewriteRule ^catalog/([0-9]+)/?$ view.php?id=$1 [L]
2) RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ [NC]
RewriteRule ^view.php$ catalog/%1/? [R=301,L]
По отдельности 1 и 2 работают
При совмещении происходит зацикливание.
Почему? Интересует чисто теоретически, поэтому не спрашивайте зачем так сделано.
По идее когда запрашивается страница вида: view.php?n=3, то по правилам 2 происходит 301 редирект на /catalog/3/, а этот запрос уже схватывает правило 1. Опять же по идее оно должно отдать запрос скрипту view.php и закончить на этом.
Но этого не происходит. После редиректа циклически происходит вызов /catalog/3/ с ответом 301
Что я упустил?