Apache를 사용하여 Laravel 페이지를 표시 할 수없는 경우의 대응 방법
이벤트 1 : 페이지에 액세스하면 404 Not Found가되었습니다.
원인 1.1 : Apache 설정 (httpd.conf 등)에서 AllowOverride가 All이 아니기 때문에
AllowOverride
에 None
가 지정되어 있으므로 문서 루트가 되는 public 디렉토리 아래의 .htaccess
의 사용이 허가되어 있지 않기 때문에.
해결 방법 : AllowOverride에 None이 지정되면 .htaccess 사용이 금지 된 상태이므로 All로 설정하여 Apache를 다시 시작합니다.
라라벨에서 라우팅을해야 404 오류? - Qiita
httpd.conf<Directory "/path/to/public">
AllowOverride All
</Directory>
원인 1.2 : Apache 설정 (httpd.conf 등)에서 mod_rewrite 모듈을 활성화하지 않았기 때문에
아파치
Laravel을 Apache에서 실행할 때는 mod_rewrite 모듈을 사용하도록 설정하고 서버에서 .htaccess 파일을 실행합니다.
설치 5.7 Laravel의 깨끗한 URL
해결 방법 : mod_rewrite.so를 활성화하고 Apache를 다시 시작합니다.
httpd.confLoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
원인 1.3 : 웹 서버가 쓰는 디렉토리에 권한이 부여되지 않았기 때문에
디렉토리 권한
Laravel을 설치한 후 약간의 권한 설정이 필요합니다. storage
아래와 bootstrap/cache
디렉토리를 웹 서버로부터 기입 가능하게 해 주세요. 설정하지 않으면 Laravel이 제대로 실행되지 않습니다.
설치 5.7 Laravel 설정
대응 방법 : 권한 부여
사실은 777이 아니라 최소화$ chmod -R 777 storage/
$ chmod -R 777 bootstrap/cache/
이벤트 2 : 페이지에 액세스하면 500 내부 서버 오류가 발생했습니다.
이벤트 2.1 : 리디렉션에 무한 루프가 발생했습니다.
보충 : Apache error_log 파일 경로는 httpd.conf에 ErrorLog
로 정의됩니다.
error_logAH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
원인 2.1 : .htaccess에 RewriteBase가 정의되어 있지 않기 때문에
apache - Laravel sends the server on 10 redirects? - Stack Overflow
대응 방법 : RewriteBase
정의
.htaccess<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
...省略
Reference
이 문제에 관하여(Apache를 사용하여 Laravel 페이지를 표시 할 수없는 경우의 대응 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ponsuke0531/items/cc07807d92ecad60a82f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<Directory "/path/to/public">
AllowOverride All
</Directory>
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
$ chmod -R 777 storage/
$ chmod -R 777 bootstrap/cache/
이벤트 2.1 : 리디렉션에 무한 루프가 발생했습니다.
보충 : Apache error_log 파일 경로는 httpd.conf에
ErrorLog
로 정의됩니다.error_log
AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
원인 2.1 : .htaccess에 RewriteBase가 정의되어 있지 않기 때문에
apache - Laravel sends the server on 10 redirects? - Stack Overflow
대응 방법 :
RewriteBase
정의.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
...省略
Reference
이 문제에 관하여(Apache를 사용하여 Laravel 페이지를 표시 할 수없는 경우의 대응 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ponsuke0531/items/cc07807d92ecad60a82f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)