2010-07-19 5 views
2

재 작성된 URL에 GET을 통해 양식을 제출내가 URL이이 형식으로 다시 작성하는 웹 사이트를 가지고

http://www.example.co.uk/schools/view/495/ 
http://www.example.co.uk/schools/search/park+lane/ 

이 있습니까 양식 (GET을 통해 제출)이 다시 작성된 URL에 제출할 수 있도록하는 방법이나 Javascript로 구현해야하는이 방법이 있습니까?

+0

아파치에서 mod_rewrite 리디렉션에 대해 들었습니다. –

답변

2

JavaScript로 이것을하는 것을 권장하지 않습니다. 실제로 시스템에서 근본적이라면, 실제로는 전혀 필요가 없으므로 JavaScript로 이것을하는 것을 권장하지 않습니다. 폼이 제출하는 스크립트를 만든 다음 거기에서 mod 재 작성된 URL로 헤더 리디렉션 할 수 있습니다. 예를 들어 :

// searchtransform.php?search=foo 
$searchterm = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_STRING); 
header("Location: /search/".$searchterm); 
1

@seengee의 대답은 너무 일 것입니다, 그러나 이것은 내가 자바 스크립트에서 어떻게 할 것입니다 : 당신은 자바 스크립트를 통해 양식을 제출하고이 URL로 작용 설정할 수 있습니다 :

<input type="button" onclick="formSubmit();"/> 

function formSubmit() 
{ 
    document.form1.action = "anotherpage.html"; 
    document.form1.submit(); 
} 
+0

사용자가 JS를 사용하지 못하게 할 수도 있지만. NoScript와 같은 Firefox 플러그인의 경우 특히 그렇다고 생각하지 않습니다. 서버 측은 확실히 더 바람직합니다. – Dan

+0

흥미로운 질문입니다. 나는 대부분의 사용자가 JS를 더 이상 사용하지 않는다고 상상할 수 없다. 그 논쟁은 (쿠키와 함께) 90 년대에 만연했지만 최근에 많이들은 적이 없습니다. – webdad3

+0

나는 이것에 동의하지 않으면 안된다. 나는 JavaScript가 꺼져있는 "사용자"에 대한 명확한 예를 보여줄 수 있으며 검색 결과를 얻기 위해 GET 양식을 크롤링하는 googlebot이 있습니다 .http : //googlewebmastercentral.blogspot.com/2008/04/crawling-through- html-forms.html Screenreaders가있는 사용자는 물론 NoScript 확장자를 사용하는 사용자는 말할 것도 없습니다. 내가 갈 필요가 있니? – robjmills

관련 문제