안녕하세요 선배님들 CI4 에서 url 입력시 문제가 있어서 질문글을 남깁니다
주소/컨트롤러/메서드 구조에서
주소/컨트롤러/ . 또는 .. 또는 ... 등 .(마침표만 입력시)
파일디렉토리를 찾는것으로 실행이 됩니다
ex) 주소/컨트롤러/. => 현재위치
ex) 주소/컨트롤러/.. => 주소(홈)으로 이동
ex) 주소/컨트롤러/... => forbidden 에러
메서드 위치에 . .. ... .... 등을 입력했을때 . .. ... ....이런 마침표를 인자값으로는 받을 수 있는지 알고싶습니다.
제가 자주가는 사이트는 주소 뒤에 .....을 붙이면
https://주소/검색/..............................
=>https://주소/검색/userName=..............................
이런식으로 리다이렉트가 되는데 이것을 하고 싶어서 입니다.
.(마침표)뒤에 문자열이 있으면 인자값으로 받을 수 있는데 단독일경우에는 안되네요
1. Route설정에서
$routes->addPlaceholder('period', '[.]');
$routes->get('컨트롤러/(:period)', 'home::index');
2. .htaccess 에서 RewriteRule을 변경
RewriteRule ^컨트롤러/(.*)$ /컨트롤러/q=$1 [L,R]
(모든문자열로 해놓고 ".."으로 테스트 => 문자열은 가능, "." ".." "..." 등 마침표 단독은 디렉토리 취급)
이런식으로도 해봤지만 .(마침표 단독)은 무슨수를 써도 안되고 있습니다...
긴 글 읽어주셔서 감사합니다.
선배님들의 고견 부탁드립니다.
꾸벅
댓글 감사합니다
. .. ... 를 인자값으로 받을 수 없나요?
댓글 감사합니다
참고하겠습니다
. 과 .. 은 현재 디렉토리와 상위 디렉토리로 정의되어 있는게 맞습니다.
. 과 .. 이 재정의되면 여러가지 사이드이펙트가 발생할 겁니다.
css, js, img 등등..