양해 해 주셔서 감사합니다. 나는 완전히 나의 개정에서 길게되기 때문에 질문을 완전히 다시 말하고있다.
index.php를
인덱스 ajax.php
관리/index.php에
관리/인덱스 ajax.phpURL 다시 쓰기 도움말
: 나는 4 진입 점과 PHP MVC 프레임 워크를
요청을 받고 URL을 기반으로 해당 파일에 다시 쓰는 .htcaccess 파일이 필요했습니다. 긴 url은 index.php? rt = cms/view/15이고 index/cms/view/15가되고 싶었습니다. 그 부분은 하나의 잡기를 제외하고는 거의 완료되었습니다.
여기 지금 내 htaccess로 파일입니다 : 나는 두 개의 폴더와 간단한 사이트를 만든
# htaccess file for framework - GOOD
Options +FollowSymLinks
# Turn on the mod_rewrite engine - GOOD
RewriteEngine On
# Hide indexes - GOOD
Options -Indexes
# If a file is not one of these, continue processing. - GOOD
RewriteRule \.(css|js|jpg|jpeg|png|gif|ico)$ - [L]
# RewriteRules for folder index files
#RewriteRule ^(index)?(.php)?$ index.php [L] - GOOD
#RewriteRule ^admin(/?)(index)?(.php)?$ admin/index.php [L] - GOOD
# RewriteRules for admin folder arguements - going from more specific to less
RewriteRule ^admin/ajax/[A-Za-z0-9-_/]*$ admin/index-ajax.php?rt=$1 [L]
RewriteRule ^admin/[A-Za-z0-9-_/]*$ admin/index.php?rt=$1 [L]
# RewriteRule for root ajax file
RewriteRule ^ajax/[A-Za-z0-9-_/]*$ index-ajax.php?rt=$1 [L]
# RewriteRule for root file - by here, it is not ajax or admin related, so only
# possible option left if the root index file
RewriteRule ^[A-Za-z0-9-_/]*$ index.php?rt=$1 [L]
- '루트'와 '루트/관리자', 그 각각의 내부 CSS, 이미지, 및 일부 더미 콘텐츠와 자바 스크립트 폴더. 'root'와 'root/admin'안에 index.php와 index-ajax.php 파일이 있는데, url 인수가 무엇이든 간단히 출력하고 각 폴더의 css, js, image 파일을 사용합니다.
내가 지금 가지고있는 문제는 색인/ㅋ 또는/관리/색인/ㅋ와 같은 URL을 작성하면 페이지가 올바르게 표시되고 인수가 옳다는 것입니다. 그러나, 내가/index/blah/view/admin/index/blah/view와 같은 url을 할 때 arguement는 맞지만 (? rt = blah/view) css/js/images 파일이 인덱스로 이동하기 때문에 페이지가 잘못 표시됩니다./blah/[css] 대신 index/[css]를 사용합니다.
처리 방법에 대한 아이디어가 있으십니까? 나는 css/js/image 파일을 .htaccess를 통해 통과하도록 허용 했으므로 거기에는 작업이 적을 것이다.
예. html의 image/css/js/etc 파일 링크는 해당 문서와 관련이 있습니다. MVC의 모든 결과 (글로벌 스타일 시트, html 스켈레톤 이미지 등)가 가질 수있는 몇 가지 외부 리소스가 있습니다. 문제는 내 .htaccess에서 css, js 또는 이미지 확장명을 가진 파일 요청을 그대로 놔두고있는 것 같습니다. 이러한 리소스는 처리가 필요하지 않다고 생각하기 때문에 그대로 사용됩니다. 하지만 이제는 URL이 중첩되어 "blah"가 실제로 컨트롤러 일 때 "blah"라는 폴더에 있다고 생각하므로 URL은 존재하지 않는 폴더로 이동합니다. –
당신의 image/css/js/etc 파일이 .htaccess를 우회하는 것이 좋다고 생각합니다. 위의 내 솔루션은 URL에 접두어를 추가하여 문제가 'ㅋ'폴더에 있다고 생각합니다. 위 예제에서'/ hosted/skel' 폴더가 실제로 존재합니다. 그러나'public/results /'는 그렇지 않습니다. 'school-1'페이지에서 CSS 파일을 "main.css"라고 언급하면'/ hosted/skel/public/results/main.css'을 가져 오려고합니다. 그래서 CSS 파일을 "../../main.css"로 참조하도록 HTML을 변경합니다.이 파일은 실제로/hosted/skel/main.css 파일에 저장됩니다. – MidnightLightning