여기 내 htaccess로이다 : test.com/main/.htaccess
에서mod_rewrite를, 변수는 하위 서브 디렉토리 재 작성, htaccess로에 표시 받기
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ([^/]+/.*) index.php?dir=%{REQUEST_URI}
htaccess로 생활 나는 시험에 액세스 할 수 있습니다가. co.kr/main/and test.com/index.php fine
test.com/main/directory는 test.com/main/index.php?dir=/main/directory/로 재 작성됩니다. test.com/main/directory URL 표시 줄에 그대로 있습니다. 이것은 좋다.
하위 하위 디렉터리에 액세스하려고하면 문제가 발생합니다. test.com/main/foler1/folder2에 액세스하면 index.php? dir =/main/folder1/folder2 /로 다시 작성됩니다. 이것 역시 좋지만 test/main /folder1/folder2/?dir=/main/folder1/folder2/는 URL 표시 줄에 test.com/main/folder1/folder2를 유지하는 대신 검색 주소창에 표시됩니다. 이게 문제 야.
main의 직계 자식뿐만 아니라 모든 하위 디렉토리가 URL 바에서 디렉토리를 유지하는 동안 다시 쓰기를 원합니다. 직접적인 아이들은이 일을 잘하지만, get 변수가 나타나는 방식으로 그 밑에있는 모든 디렉토리를 다시 작성합니다.
이 재 작성의 목적은 index.php 파일을 새로 생성 된 모든 폴더에 복사 할 필요가 없기 때문에 .htaccess를 각 폴더에 복사하여 목적을 달성하지 못하게합니다. 당신은 아마 RewriteRule ([^/]+/.*) index.php?dir=%{REQUEST_URI} [QSA,L]
원하는
존재하는 디렉토리에서 다시 쓰는 이유는 무엇입니까? 일반적인 연습은 존재하지 않는 모든 디렉토리 나 파일을 다시 작성한 다음 코드가 URL이 유효한지 여부를 알아내는 것입니다. –
나는이 문제를 해결하기 위해 내 대답을 업데이트했다. 아무 래도 이런 식으로 일하는 좋은 이유가 있다고 가정하면 = –