2014-04-25 2 views
0

'없이 URL에서 id 요소를 가져오고 싶습니다.'
처럼에게 PHP에서 : PHP에서
URL이"?"없이 id 요소를 가져옵니다.

http://exp.com/dir/index.php?id=123 


그래서 내가 자바 스크립트에서이

http://exp.com/dir/123 

내 코드를 얻기 위해 자바 스크립트를 사용하려 할 것이다 얻을

var url = document.URL; 
var id = url.substring(url.lastIndexOf('/') + 1); 
alert(id); 
했다

하지만 내가 알기 상자를 얻지 못한다면 123
서버가 내가 디렉토리를 원한다고 생각하기 때문에 찾지 못했습니다.
누군가 내 자바 스크립트 코드를 도울 수 있습니까?

+0

당신은 서버 때 'http://exp.com/dir 행동하는 방법을 알려 주어야합니다/123'이 요청됩니다. 귀하의 경우, 당신은'http : // exp.com/dir/123'이'http : //exp.com/dir/index.php? id = 123'처럼 행동하기를 원합니다. Apache를 사용하고 있다면 [mod_rewrite] (http://httpd.apache.org/docs/current/mod/mod_rewrite.html)를보십시오. – ComFreek

+0

PHP를 사용하여 이러한 변수를 쉽게 검색 할 수 있습니다. 그러나 JavaScript는 window.location을 사용하여 페이지의 현재 URL을 제공 할 수 있지만 서버 측 언어처럼 문자열의 끝 부분을 구문 분석하기 위해 알고있는 자동 검색 방법이 없습니다. 그러나 어떤 언어로 이것을하려고하는지 일관되게하십시오! 첫 번째 줄에는 PHP가 나와 있습니다. 마지막 줄에는 JS가 나와 있습니다. – Katana314

+0

당신은 url에 서핑 할 수 있기를 원하십니까 : 'http://exp.com/dir/123'... 또는 당신이 그 페이지에 있다면 id 값을 경고하고 싶습니까? – Niklas

답변

2

JavaScript로 해결할 수있는 문제는 아닙니다.

JavaScript가 실행되기 전에 서버가 액세스하려는 URL의 콘텐츠를 제공해야합니다. mod_rewrite을 조사해야합니다.

+0

당신을 감사하십시오 그러나 당신은 다만 더 많은 것을 설명 할 것을 도울 수 있는가? –

+0

mod_rewrite의 사용을 다루는 스택 오버플로에 대한 질문이 * 톤 * 있습니다. 당신은 너 자신을 위해 약간의 연구를해야한다. – meagar

+0

참고로, [mod_rewrite] (http://httpd.apache.org/docs/current/mod/mod_rewrite.html)는 아파치 HTTP 서버를위한 모듈입니다 (19 년 된 웹 서버 만 있음). 웹 서버 (if)가 작성자를 사용하는 것에 대한 정보는 없습니다. – Benio

0

htacces를 사용해야합니다. PHP는 예를 들어

을 이해하는 당신이 URL을 바꿀 수있는 그런 방법 :/페이지/ID가 될 것

RewriteRule ^(.*)/([0-9]+)?$ index.php?page=$2&id=$1 [NC,L] 
관련 문제