RedirectMatch: как я стараюсь не сохранять querystring

Перед "журналом iptables отклоненный" и "отклонение все другие входящие" команды Вы добавили бы

-A INPUT -p tcp --dport 5432 -s xxx.xxx.xxx.xxx -j ACCEPT

Где xxx.xxx.xxx.xxx является IP сервера, Вы соединяетесь от того, таким образом, Вы не открываете пост-ГРЭС до мира.

0
задан 23 March 2013 в 22:26
2 ответа

? в конце правила - единственный способ явно удалить существующую строку запроса. Из документации :

По умолчанию строка запроса передается без изменений. Однако вы можете создать URL-адреса в строке подстановки, содержащей часть строки запроса. Просто используйте вопросительный знак внутри строки подстановки, чтобы указать, что следующий текст следует повторно вставить в строку запроса. Если вы хотите стереть существующую строку запроса, завершите строку подстановки только знаком вопроса. Чтобы объединить новые и старые строки запроса, используйте флаг [QSA].

1
ответ дан 4 December 2019 в 21:22

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

Нет документации о том, как избежать добавления строки запроса, хотя наличие опция QSA предполагает, что Apache может иметь поведение, несколько похожее на nginx - завершающий ? гарантирует, что предыдущая строка запроса не добавляется.

BTW , если это не работает в Apache, я искренне приглашаю вас попробовать nginx . Помимо отличной производительности, он также имеет отличную документацию и простоту настройки, а добавление ? просто удаляет старую строку и не приводит к появлению пустого вопросительного знака в результате перенаправления. Таким образом, он в основном работает в nginx, и все поведение, даже если оно официально задокументировано, предыдущие аргументы запроса добавляются после них. Если это нежелательно, ставить вопросительный знак в конце строки замены избегает их добавления

0
ответ дан 4 December 2019 в 21:22

Теги

Похожие вопросы