한 페이지 응용 프로그램을 만들고 있습니다. 사용자가 url을 변경하거나 새로 고침하면 "mysite.com/"이후의 내용이 요청 된 하위 디렉토리 내용 (예 :/users/me)에 ajax 변수로 전송됩니다.htaccess는 모든 하위 폴더 (/../ ..)를 index.html에 다시 작성합니다.
이 코드는 상대적 URL이 하나의 "하위 디렉토리". 그러나 하위 하위 디렉터리는 물론 단순히 하위 디렉터리/하위 디렉터리도 오류를 수신하고 콘텐츠를로드하지 않습니다.
- mysite.com/sub_directory는 --------------------------
- 내 사이트로 이동을 mysite.com/index.html .com/sub_directory/------------------------- 오류가 발생했습니다
- mysite.com/sub_directory/sub-sub-directory --- throws 오류
자원은 스타일 시트로 해석하지만, MIME 타입 text/html과 함께 전송 "mysite.com/all/default.css"
리소스 스크립트로 해석하지만, MIME 타입의 테와 전송 XT/html로 "mysite.com/all/jquery.js"
htaccess로 시도 : index.html을에 "mysite.com/"후 아무것도 리디렉션합니다.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.html [L]
추가 정보 :.
* 및 (^ /? $) 및 (.^/$) *와 */등으로 AddType 규칙을 포함하는 동일한 결과
생산. .css 및 .js 파일은 아무 것도하지 않는 것 같습니다.
htaccess 파일은 index.html과 같은 폴더에 있습니다.
정규식에 문제가 있습니까? 일반적으로 htaccess 코드에 문제가 있으면 서버가 500 내부 서버 오류로 응답하지만이 경우에는 내용이로드되지 않고 위의 오류가 발생합니다.
업데이트 : 나는 index.html과 .htaccess와 같은 디렉토리 레벨에있는 "scripts"폴더에있는 많은 스크립트를 가지고 있습니다. 그들은 모두 오류없이로드됩니다. 아마도 .htaccess가 자체 디렉토리 수준의 파일에 적용되지 않습니다.
http://stackoverflow.com/questions/5214502/how-to-redirect- 모든 요청 - 인덱스 - php 및 기타 - 계속 - 얻을 매개 변수 –
흠, QSA를 추가하면 영향을 미치지 않는 것 같습니다 – cheesetaco
'RewriteRule^(. *) $ index.html [QSA, L]' – tttony