제목 | route 정규식 질문드리겠습니다. | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 하하예에 | 작성시각 | 2017/07/13 15:17:20 |
|
|||
url : 도메인/UlxZXldCUA==/main $route['([a-zA-Z]+[=]+)'] = 'main/rooms/$1';
암호화코드 : "UlxZXldCUA==" 암호화 코드에 대해서 "[a-zA-Z]+[=]+" 이렇게 정규식을 잡아 라우팅할려고하는데요 "==" 이것때문인지 잘 넘어가질 않는데 정규식잘아시는분있으시면 간단한 팁을좀 알려줄수있을까요.^^
참고로 url : 도메인/UlxZXldCUA/main $route['([a-zA-Z]+)'] = 'main/rooms/$1'; 이렇게하면 잘됩니다.
|
|||
다음글 | 쿼리를 조건문에 따라 추가하고 싶습니다... (2) | ||
이전글 | 페이지네이션에서 get방식으로 값을 얻어오면 현재 페이... (5) | ||
유창화
/
2017/07/13 15:22:39 /
추천
0
|
하하예에
/
2017/07/13 15:25:35 /
추천
0
$route['([a-zA-Z=]+)'] 아 이것도 해봤는데 안되요 ㅠㅠ |
유창화
/
2017/07/13 15:39:34 /
추천
0
글세요 정규식 자체는 틀린게 없는데..... $route['([a-zA-Z=]+)/([^/]+)'] = "$2/rooms/$1"; 나 $route['^([a-zA-Z=]+)/([^/]+)'] = "$2/rooms/$1"; 로 해보면 어떨까요? |
하하예에
/
2017/07/13 15:51:54 /
추천
0
뒤에 세그먼트문제는 아닌거같습니다. url의 ==를 컴파일못하는거같아서.. 흠 암호화 방식을 영문대소문자로 바꾸는 방법으로 가야할까요...
|
유창화
/
2017/07/13 15:57:35 /
추천
0
제 생각에는 저게 가운데 와서 그런거 같거든요 주소 체계를 room/main/UlxZXldCUA== 형태면 먹을 거 같습니다. 앞에는 클래스고 뒤는 메소드니까 이름에 사용할수 없는 문자일 가능성이 높은 거 같습니다. 세번째 부터는 파라미터 개념이니까 상관없지 싶은데요? |
하하예에
/
2017/07/13 16:03:35 /
추천
0
맞아요 room/main/UlxZXldCUA== 이렇게하면 잘 됩니다. 그럼 라우트 설정할필요도없죠 내부적으로 도메인/암호화코드/클레스/메소드로 규칙을 잡아놔서 이렇게 고생하고있어요. ㅎㅎㅎ |
유창화
/
2017/07/13 16:06:29 /
추천
0
그렇다면 말씀하신데로 ci 에서 정할수 있는 클래스 이름 범위내의 문자로 암호화 하셔야 할것 같습니다. 암호화 형태는 base64 같아보이는데 / 도 있기 때문에 그건 아닐거 같고 = 을 _ 정도로 바꾸셔서 해보시면 좋을것 같습니다. |
변종원(웅파)
/
2017/07/13 16:08:57 /
추천
0
== 이 부분은 ci 세그먼트 주소에서 허용하지 않습니다. base64 처리했을 경우 에러가 나서 다른 것으로 치환을 해서 사용합니다.
|
하하예에
/
2017/07/13 16:09:38 /
추천
0
넵 그렇게 해야겠네요 도움감사합니다.^^
|
[a-zA-Z]+[=]+
-->
[a-zA-Z=]+
이렇게 하면 되지 않을까 싶네요