제목 | [질문] url에서 마지막에 나오는 / 를 제거하는 방법 | ||
---|---|---|---|
글쓴이 | 우노 | 작성시각 | 2009/07/12 02:11:19 |
|
|||
아래의 _remap() 을 이용하거나 혹은 CI에서 일반적인 경우에, www.example.com/wiki/aaa/ 이렇게 주소를 치는 경우에 자동적으로 www.example.com/wiki/aaa 로 고쳐주게 하려면 어떻게 해야 할까요? trac의 wiki 에는 위와 같이 자동으로 / 를 없애주고 있거든요. 일반적인 경우에는 상관이 없는데, wiki 를 구현하는데 있어서는 눈에 거슬리네요. ^^ |
|||
다음글 | 검색 파라미터 질문입니다. (5) | ||
이전글 | [질문] wiki의 url을 해석하기 위한 _remap... (2) | ||
변종원(웅파)
/
2009/07/12 07:57:28 /
추천
0
후킹을 이용하여 시스템이 로드된 직후에 주소 제일 우측의 /를 제거하고 주소를 리다이렉팅시키면 될것같습니다
|
우노
/
2009/07/12 09:36:46 /
추천
0
괜찮으시다면, 예를 들어 주실 수 있으시겠는지요? ^^;;
아직, 후킹부문을 적용해 본적이 없는데다가, 주소 제일 우측의 /를 제거하는 것을 어떻게 할지 아직 아이디어가 없습니다. 정규표현식으로 해야 할지.. 아님 쉽게 처리할 함수가 있을지 ... 앞서 wiki에서 url 을 해석하는 것도 뭘로 할까 하다가... 고전적인 for 문을 이용해서 처리했거든요. 부탁 좀 드리겠습니다. 꾸벅 |
변종원(웅파)
/
2009/07/12 21:20:02 /
추천
0
주소 우측 / 제거는 간단합니다.
$seg=$this->uri->uri_string(); $len = strlen($seg); if(substr($seg, -1) == '/') { $seg = substr($seg, 0, $len-1); } 후킹은 매뉴얼 (http://www.codeigniter-kr.org/user_guide/general/hooks.html) 참고하시구요. 후크 포인트를 pre_system 로 하시면 될 것 같습니다. 매뉴얼대로 후킹함수를 만들고 위 내용을 넣고 주소의 맨 마지막 / 를 제거후 그 제거된 주소로 자바스크립트 location="/제거된 주소'; 로 리다이렉팅 하면 되는데 단점은 초기에 로딩이 2번 되는거죠. 아니면 아파치의 rewrite모듈을 이용할 수도 있을 것 같네요. RewriteRule ^(.+[^/])$ $1 [R] 테스트해보지는 않았습니다. ^^; 원칙대로라면 주소의 맨 마지막에 /를 추가해주는 것이 맞는데 (/ 없으면 파일일지 디렉토리일지....) ^^; |