Итак, у меня есть два отдельных правила перезаписи в моем блоке vhost. Первое правило перенаправляет клиента за пределы сайта, если они входят через партнерский URL, например example.com/1234.html, а второе правило заставляет URL-адрес всегда содержать www-точку, например www.example.com.правила mod-rewrite, выполняющиеся не по порядку
# Affiliate Links
RewriteRule ^([0-9]+)\.html$ http://affiliates.example.com/log.php?id=$1 [R=302,L]
# Ensure we are always on www dot
RewriteCond %{HTTP_HOST} ^example\.loc [NC]
RewriteRule (.*) http://www.example.com$1 [R=301,L]
Правила сами отлично работают. Проблема в том, что если применяется первое правило, я хочу, чтобы он немедленно перенаправлялся, однако кажется, что второе правило поднимается вверх, потому что оно всегда имеет приоритет. Что мне нужно изменить, чтобы они выполнялись в порядке?
Попробуйте сначала очистить кеш браузеров. Я предполагаю, что здесь правила - это места внутри вашего раздела, из ваших конфигурационных файлов apache !? Что произойдет, если вы просто поменяете их? –
Gerben
Они находятся в блоке virtualhost, и я запускаю перезапуск apache после каждой модификации и открывая новый сеанс приватного просмотра для тестирования. Они в настоящее время находятся в том порядке, в котором я бы хотел, чтобы они выполнялись, но их переключение не меняет поведения. Спасибо за комментарий! –