개발을 위해 laravel을 사용하고 있습니다. 프로젝트의 정적 리소스 디렉터리와 라우팅은 다음과 같은 이름을 갖습니다.
으아악이렇게 구성하면 개발 환경에서 PHP 내장 서버를 사용하여 localhost:8000/web에 액세스할 때 404 오류가 발생합니다.
으아악좀 조사해본 결과, 공개 디렉토리에 같은 이름의 리소스 경로가 있기 때문에 서버가 이를 직접 정적 리소스로 처리할 이유가 없는 것으로 보입니다. 그런데 사실 이 웹은 그냥 폴더이기 때문에 위의 404가 나옵니다.
테스트를 위해 apche 서버를 사용하면 apache는 (301) localhost:8000/web을 localhost:8000/web/로 리디렉션하는 것으로 보이며 디렉토리 구조가 페이지에 노출됩니다. 옵션 설정 -Indexes는 표시만 비활성화하지만 localhost:8000/web은 계속 리디렉션됩니다.
정적 리소스 경로와 경로 네이밍을 위와 같이 통일하고 싶다면 어떻게 구성해야 하는지 알고 싶습니다. 아니면 다른 더 나은 명명 체계가 있습니까?
仅有的幸福2017-05-16 16:52:56
이는 public/.htaccess를 수정하여 달성할 수 있습니다(LAMP 로컬 테스트는 Linux Mint에서 통과됨)
단계
공개 디렉토리에서 .htaccess 파일을 수정하세요
위치:
으아악원래 의미는 입니다. 디렉토리!-d도 아니고 파일!-f도 아닌 경우 index.php
로 구문 분석합니다.이(가)
로 수정되었습니다. 으아악는 이제 을 의미합니다. 파일이 !-f가 아니면 index.php
로 구문 분석합니다(어떤 의미에서 !-d는 더 이상 유용하지 않습니다)
로컬 테스트를 통과했으며, 다른 문제가 발생할지는 현재 알 수 없습니다.