Laravel/Ember.js 앱을 개발 중입니다. Laravel은 클라이언트 측에서 백엔드 프레임 워크와 RESTful 데이터 공급 업체 및 Ember.js의 부분적 역할을 담당합니다.Ember.js pushState 라우터 인계 Laravel route
지금까지 제대로 작동합니다. 그러나 Ember.js가 하위 URL 중 일부를 제어하려고합니다. /members#/edit/1
/members/add
, /members/edit/1
등 대신 /members#/add
을 :
/members
경로를 가지고 있고 하위 결과의 URL은과 같이 pushState의 엠버/승을 활용하고 싶은 말은 엠버와
이 쉽게 달성 :
App.Router.reopen({
location: 'history', //instead of 'hash'
rootURL: '/members'
})
내가 링크를 클릭 할 때 잘 작동합니다.
그러나 페이지를 새로 고침 할 때 Laravel 라우터는 공용 폴더에서 laravel의 index.php를 통해 모든 URL을 제공하려고 시도하는 .htaccess
으로 시작됩니다. 여기 Laravel 원래 .htaccess
파일입니다 : 내가 재 작성 아파치 URL에 전문가는 아니지만
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
</IfModule>
, 내가해야 할 일을 /members
경로로 다시 (.. /members/add
, /members/view
등) /members
다음 모든 것을 다시 작성 .htaccess
말씀입니다 Ember.js가 적절하게 리디렉션합니다.
<IfModule mod_rewrite.c>
Options -MultiViews
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine On
RewriteCond %{REQUEST_URI} /members
RewriteRule (.*) members
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule^index.php [L]
</IfModule>
URL 재 작성의이 주제에 어떤 도움에 감사드립니다. 감사!
와우. 엠버 (ember)를 몰랐습니다. js는 역사를 매우 쉽게 푸쉬 상태로 만듭니다 .... 오늘 새로운 것을 배웠습니다. 고마워요. (제 의견은 도움이되지 않지만 감사하고 싶습니다.) – itachi
그래, 걱정 마. 다른 경로가없는 단일 페이지 앱에 유용합니다. – kernelpanic
이 질문에 대한 답을 찾을 수 있었습니까? – edpaez