질문
Q #12396
URL에 한글 사용하는 방법 질문 입니다!
마PD
2015-07-30 16:59:33
안녕하세요!
검색을 해봤지만 해결이 되지 않아 이렇게 따로 질문글을 올립니다. ㅠ.ㅠ
원하는 기능은 이렇습니다.
test.com 으로 접속하면 메인화면
test.com/[검색단어] 으로 접속하면 검색 단어에 따르는 내용으로 페이지를 변경해서 보여줍니다.
즉, 사용자가 url에 직접 검색어를 입력하되 get방식처럼 id=[검색단어] 형식이 아니라 주소에 / 이후 바로 검색어를 넣도록 하고 싶습니다.
단, [검색단어]에는 한글, 영문, 숫자, 띄어쓰기만 사용 가능하며 그외에 특수문자-_등은 사용하지 않습니다.
이렇게 하기 위해 다음과 같은 작업들을 진행했습니다.
1. .htaccess 를 통해 url 에서 index.php 부분을 제거하였습니다.
2. routes.php 에서 다음과 같이 수정하였습니다.
$route['([가-힣a-z0-9]+)'] = "main/test/$1";
$route['default_controller'] = "main";
$route['404_override'] = '';
이렇게하자 영문과 숫자를 넣었을땐 정상 작동하였습니다.
test.com/abcd
test.com/1234
하지만 한글과 숫자를 사용하니 페이지를 찾을 수 없다고 나왔습니다.
그래서 검색을 해보니 config.php 파일에서 이렇게 수정하라고 되어 있더라구요.
$config['permitted_uri_chars'] = '가-힣a-z 0-9~%.:_\-';
하지만 위처럼 수정하였음에도 불구하고 페이지는 여전히 찾을 수 없다고 나옵니다.
config.php 파일에는 UTF-8로 설정하였고 필요하다면 아직 제작 초기 단계라 다른걸로도 변경은 가능합니다.
이후 구현될 기능은 입력받은 값을 DB에서 검색 후 결과를 보여주는 겁니다.
URL에서 한글을 사용하여 라우팅 시킬 수 있는 방법이 있을까요?
$route['(:any)'] = "main/test";
$1 에 대해선 모르겠네요. $1 은안해도 세그먼트는 받을수 있을겁니다