history.back()함수와,Rewrite Rule

PHP나 CGI프로그램에서 입력값을 받아서 체크라는 루틴에서
주로 쓰이는게 history.back() 이지 않습니까?
어떤 특정 문자열이나 잘못된 형식이면은 history.back() 기능을
호출하는데,이 history.back() 함수가
김정균님이 작성하신 다음 VIrtual Hosting 강좌(http//www.oops.org)에 있
는 부분은
잘 돌아갑니다.(즉 폼값에 무언가 입력시 history.back() 이 되어서
다시 그 폼이 있는 페이지로 갈경우,폼값이 삭제되지 않고 보존되있음.)
┓ DocumentRoot /home/httpd/html ┃ 여기처럼 기본 Home ServerName oops.kr.net ┃Directory를 지정해 ┛줘야 한다.
## history.back() 기능 제대로 동작됨
NameVirtualHost 210.124.6.213 <- 이 부분을 주의
ServerAdmin www@www.oops.kr.net
DocumentRoot /home/httpd/www
ServerName www.oops.kr.net
ErrorLog logs/www.error_log
TransferLog logs/www.access_log
## history.back() 기능 제대로 동작됨
그러나 ID.host.com 형식으로 설정된 Virtual Hosting 일경우에는
예외없이 Form에 들어있던 값이 삭제되더군요.
ex)버추얼호스팅+Rewrite 예제
ServerAdmin webcenter@empal.com DocumentRoot "/삐리리/삐리리" ServerName zerg.net ServerAlias zerg.net *.zerg.net RewriteEngine on RewriteCond %{HTTP_HOST} ^[^.]+\.zerg\.net$ RewriteRule ^(.+) %{HTTP_HOST}$1 [C] RewriteRule ^([^.]+)\.zerg\.net(.*) /home/$1/html$2
이렇게 설정된 호스트가 만약 a 라고 하고
a.zerg.net 으로 접속해서 폼에 값을 입력하고 전송을 누른후
잘못된값이있어 history.back() 함수를 호출하면은
익스플로러 우측 상단의 E로고가 마구마구 돌면서
마지막에 폼값이 입력된 페이지를 캐쉬에서 불러내는게 아닌
새로운 페이지를 불러내서 폼값이 삭제되는듯 하더군요.
으음,이 문제를 해결하는 좋은방법이 없을까요?
아마 제 생각에는 아파치 웹서버에서 특별한 수정을 해줘야 될것 같은데.
(특히,Rewrite부분을..)
PHP에서는 session을 이용해서 꽁수로 하는방법이 있긴 하지만,
PHP말고 이지보드같은 이미 C++로 컴파일된 CGI 프로그램 같은 경우에는
예외없이 history.back()기능이 있지만,무용지물 되버려서요.^^
댓글 달기