2014-10-01 4 views
0

나는 (가상 호스트와 xip.io 서버 별칭을 사용하여) 앵귤러 웹 사이트에서 작업 중이며, pushstate를 사용하여 그렇지 않으면 -hashbang-riddled url을 상당히 위로 올려 놓고 있습니다. 원격 서버에서이 .htaccess를 색인의 기본 href와 함께 사용하여이 작업을 수행 할 수는 있지만 로컬에서 작업 할 경우 완전히 작동하지 못합니다.html5 pushstate with MAMP

나는 사이트를 탐색 할 수 있고 그에 따라 URL도 바뀔 수 있지만 페이지를 새로 고치면 .js 의존성이 404가되고 페이지가 절반 만로드됩니다.

# html5 pushstate (history) support: <ifModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !index RewriteRule (.*) /index.html [L] </ifModule>

이 내가 영향을 미치지 아니 루트 수준 htaccess로, 사용되는 것입니다 :

내가 시도한 htaccess로입니다. 그러나 서버에서 htaccess로 파일을 루트에서 한 단계 위로를 배치 할 필요가있다, 그래서 난 내 지역 설정에 비슷한 않았다 : 아직도

# html5 pushstate (history) support: <ifModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !index RewriteRule (.*) dist/index.html [L] </ifModule>

영향을. 인터넷 검색에서

, 나는 이것이 가상 호스트 파일을 통해 추가 할 수있는 것을 발견, 그래서 너무처럼 <Directory> 태그에이 규칙을 추가, 탄 것을 준 : 난 그냥이 뛰어 들고있어

<VirtualHost *:80> 
ServerName localmk.ilium1.com 
ServerAlias client.*.xip.io 
DocumentRoot /Users/mattk/Documents/ilium/web2014/BootstrapRepository/ilium-website-bootstrap/bootstrap/dist 
<Directory /Users/mattk/Documents/ilium/web2014/BootstrapRepository/ilium-website-bootstrap/bootstrap/dist> 

DirectoryIndex index.html 

# html5 pushstate (history) support 
<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^index\.html$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.html [L] 
</IfModule> 
</Directory> 
</VirtualHost> 

을 물건처럼, 그리고 나는 꽤 무지하다. (여기에 보이지 않는 경우를 대비해서). 나는 올바른 질문을하거나하지 않을 수도 있습니다. 어떤 지침이든 대단히 감사합니다.

편집 : 아파치를 다시 시작한 후 이전에 새로 고치려고했던 페이지가 이전에 그렇게 시작되었습니다. 나는 흥분하고, "서버를 다시 시작하십시오."라는 질문에 대한 나의 대답에 응답했고, 행복하게 일하기 위해 되돌아갔습니다 ... 다른 견해가 여전히 적절하게 상쾌하지 않았 음을 발견했습니다. 이러한보기 템플리트 및 URL은 디렉토리 구조의 최상위에있는 한 레벨에 있습니다. 예를 들어, /work/의보기가 올바르게/완전히 새로 고쳐지지는 않지만 /work/somethingelse의보기는 잘 고쳐집니다. Console은 각각 내 .js filea에 대해 Resource interpreted as Script but transferred with MIME type text/html (궁극적으로 Grunt를 통해 하나로 연결됨) 및 각각 Uncaught SyntaxError: Unexpected token <을 알려줍니다. 이전에는 이러한 오류로 인해 404 오류가 발생했습니다.

+0

상황이 더 이상합니다 ... vhosts 구성을 사용하여 Chrome 개발자 도구에서 활성화 된 중단 점이있는 페이지를 새로 고침하면 페이지가 단계적으로 성공적으로 다시로드됩니다. –

답변

0

글쎄, 이건 내 noobishness 꽤 명확하게 설명합니다. 대답은 뼈가 간단합니다.

vhosts 파일을 편집 한 후 Apache를 다시 시작하지 않았습니다.

서버를 다시 시작하면 매력처럼 작동합니다. 다음 당혹감에 ...

+0

좋아, 다음은 당혹스러워. 일부 페이지 뷰를 새로 고치는 데 효과적 이었지만 다른 뷰는 새로 고치지 않았습니다. –