Как спрятать все после .cgi? в адресной строке - PullRequest
0 голосов
/ 19 декабря 2011

У меня есть html-файл с формой:

<form method="get" enctype="multipart/form-data" action="bin/a_python_script.cgi">

(мне нужно использовать method = "get", потому что когда я использую method = "post", я получаю странное сообщение "Страница истекла"проблемы с кнопкой «назад» в Internet Explorer 8)

Страница результатов показывает это в адресной строке:

http://www.mydomain.com/bin/a_python_script.cgi?var1=a+variable&var2=another+variable&Submit=submit+this

Мой предпочтительный вывод в адресной строке будет:

http://www.mydomain.com/bin/a_python_script.html

Как мне спрятать все после ".cgi?"?

А можно ли заменить ".cgi" на ".html"?

Ответы [ 4 ]

4 голосов
/ 19 декабря 2011

К сожалению, нет других вариантов, кроме как изменить метод формы с «get» на «post».

GET кодирует все поля формы в URL. Нет способа скрыть что-либо, не удаляя данные.

Быстрый поиск в Google по запросу «предотвратить сообщение об истечении срока действия страницы» дает довольно много результатов (примеры в основном PHP, но концепцию можно перенести на любой язык):

Google - запретить сообщение об истечении срока действия страницы

2 голосов
/ 19 декабря 2011

Ваш метод формы должен быть «отправлять», а не «получать».

В вашем скрипте cgi вы должны иметь возможность извлекать данные публикации.

для изменения расширения с.htaccess это должно работать.

1 голос
/ 19 декабря 2011

Оставьте форму как POST, затем используйте шаблон , чтобы позволить пользователю вернуться или обновить без предупреждения.

0 голосов
/ 19 декабря 2011

Согласитесь с Джастином Нисснером - однако после попадания вы можете сделать перенаправление на другую страницу, чтобы параметры не остались в URL.Или вы можете отправить форму через ajax в фоновом режиме, чтобы пользователь не заметил отправленные параметры

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...