.htaccess теряет параметры URL /$_GET и $_POST после перенаправления

У меня есть php-файл, например: http://www.domain.com/?mod=test&act=view

И я хочу создать перенаправление с этого адреса на что-то вроде: http://www.domain.com/view-test

так что каждый раз, когда пользователь обращается к первому URI, он перенаправляется на http://www.domain.com/view-test просмотра содержимого первого URI.

У меня есть следующие правила:

RewriteCond %{QUERY_STRING} mod=test&act=view
RewriteRule ^$ view-test? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^view-test.html amas/index.php?mod=test&act=view [L]

Это прекрасно работает для страниц без параметров или форм представления, но если у меня есть какие-либо из этих ничего не работает.

Это означает, что если у меня есть форма, отправляющая в тот же файл, она не будет работать. Если у меня есть что-то вроде http://domain.com/?mod=test&act=view&order_by=id я остаюсь с перенаправленным на uri, а параметр order_by игнорируется!

Можно ли вообще сделать то, что я пытаюсь? Я не очень много знаю об этом, и, честно говоря, я потерял между всей информацией, которую я нахожу...: /

1 ответ

Решение

Использовать строку запроса:

RewriteRule ^view-test.html amas/index.php?mod=test&act=view [L,QSA]
Другие вопросы по тегам