Я пытаюсь использовать .htaccess для перенаправления единственной страницы в механизме выражения к странице другого сайта. Наш .htaccess файл имеет тонну другого переписывать правила и переписать условия гарантировать, что сайт механизма выражения работает эффективно.
У меня есть этот RedirectMatch наверху .htaccess файла.
RedirectMatch (?i)^/my-page https://www.differentsite.com/my-page
Перенаправление отправляет на новый сайт хорошо за исключением, он добавляет дополнительное'?/my-page' в конце моего URL на целевом сервере. Таким образом, это проникает как "https://www.differentsite.com/my-page?/my-page"
Я полагаю, что это из-за некоторых других правил ниже этого в .htaccess добавлении/попытке файлов к некоторым дополнительным частям URL.
Как я удостоверяюсь, что только первая строка выполняется с помощью .htaccess?
Кроме того, есть ли способ, которым я могу протестировать то, что точно .htaccess URL пытается отправить, прежде чем он пойдет через некоторый тип доступа/файла журнала?
Спасибо!
Попытайтесь добавить [L]
флаг в конце строки. Думайте, мог бы помочь.
RedirectMatch (?i)^/my-page https://www.differentsite.com/my-page [L]
Больше о флагах в .htaccess здесь
@atom_n был корректен, что мне был нужен флаг L!
Однако флаг L не работает на RedirectMatch, таким образом, я должен был использовать переписать правило. Заключительное рабочее решение ниже
RewriteCond %{REQUEST_URI} /my-page [NC]
RewriteRule (.*) https://www.differentsite.com/my-page [R=301,L]
Это работало отлично после этого.