19Ноя/09Off
Nginx — Как убрать вопрос «?» в строке адреса
Бывает необходимо сделать из адреса /index.php? просто /index.php (без ненужного вопроса). Для чего? Ну например для
Помню что где-то видел решение, но где забыл, а заодно и забыл как это было сделано 🙁
Пришлось сделать своё, метод далеко не нов, но лучше я его запишу:
server {
...
set $rr 0;
if ($request_uri ~ ^/index.php\?$) {
set $rr 1;
}
if ($request_method = POST) {
set $rr 0;
}
if ($rr) {
rewrite .* /index.php permanent;
}
...
}
...
set $rr 0;
if ($request_uri ~ ^/index.php\?$) {
set $rr 1;
}
if ($request_method = POST) {
set $rr 0;
}
if ($rr) {
rewrite .* /index.php permanent;
}
...
}
Очень просто.