Я пытаюсь перенаправить URL-адрес, но он противоречит правилу rewrite, я использую это правило перенаправления
Redirect 301 /antique-vintage-rugs/170-antique-oriental-rugs-carpets https://example.com/antique-vintage-rugs/170-antique-rugs
мне потребовалась ссылка https://example.com/antique-vintage-rugs/170-antique-rugs?action=clear&template=170-antique-oriental-rugs-carpets вместо этого https://example.com/античном марочные-ковры/170-Антик-пледы
Мой URL-адрес Rewrite - это
RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^antique-vintage-rugs/(.+) results.php?action=clear&template=$1 [NC]
Есть ли способ получить желаемую ссылку на перенаправление вывода?
Вы должны использовать mod_rewrite здесь вместо того, чтобы смешивать его с mod_alias (где принадлежит директива Redirect
). Когда вы смешиваете два, оба обрабатывают один и тот же запрос.
Поэтому вместо Redirect
используйте:
RewriteRule ^antique-vintage-rugs/170-antique-oriental-rugs-carpets https://example.com/antique-vintage-rugs/170-antique-rugs [L,R=301]
но убедитесь, что это до ваших других правил.
У меня была несколько схожая проблема. Я пытался добавить перенаправления из cpanel, в то время как у меня уже были некоторые правила перезаписи, написанные в моем файле.htaccess. Ошибка, которую я получил, - "Нет тега обработки для" Что я в конечном итоге сделал, так это то, что сохранил копию моих существующих правил и очистил.htaccess. Затем пошли и добавили все переадресации, которые мне нужны из cpanel, а затем в конце вернули мои собственные правила перезаписи в конце файла. Это сработало для меня