2014-09-22 2 views
0

누군가가이 응용 프로그램 형식에 대한 htaccess 규칙을 도울 수 있습니다. 난 기본적으로 루트 htaccess로 파일에서 원하는 그래서.htaccess 여러 폴더 및 루트

/api 
    - /1.0 (this is a php project, a backend rest api of sorts to the frontend) 
     - /other-php-folders 
      - /...(lots of stuff) 
     - /public 
      - /...(lots of assets etc) 
     - /index.php 
     - /.htaccess (ignore for now) 
/src (this contains an angularjs compiled website) 
    - /assets 
     - /cool-asset.js 
     - /cool-asset2.css 
     - /cool-asset3.png 
    - /index.html 
    - /.htaccess 
/.htaccess 

: 여기

내 파일 구조입니다

  • 리디렉션로 시작하는 모든 트래픽 "/ API /"에서 "/ API/* ". 여기에는 모든 자산이 포함됩니다.
  • 기타 모든 트래픽은 "/ src/*"로 이동합니다.
    • /src/.htaccess : 평소와 같이/src에서 볼 수있는 모든 파일 요청이 필요하지만 모든 URL 요청은 단순히 index.html (RewriteRule^index.html [L])로 이동해야합니다. (. 예를 들어 /api/1.0) :

      • URL을 :

    또 다른 멋진 기능은 내가 사랑 mydomain.com/api/latest 미리 정의 된 폴더에 연결하는 경우, 또는이 는 폴더 이름에서 최신 버전 번호를 찾는 방법입니다 (그러나 하드 코드 된 경우 너무 많은 처리 능력이 필요할 수도 있고 많은 요청이있을 수 있습니다).

도움을 주시면 감사하겠습니다. 미리 감사드립니다.

답변

0

나는 내 자신의 해결책을 만들었지 만 누군가가 의견을 제시하고 이것이 좋은지 또는 더 좋은 해결책인지 알 수있다.

건배.

/.htaccess

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !^/api 
RewriteRule ^(.*)$ /src/$1 [L] 

/src/.htaccess

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 
RewriteRule^index.html [L] 
관련 문제