.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]