URL에서 공개를 제거하는 가장 좋은 4 가지 방법
다른 트릭을 사용하여 URL에서 공개를 제거하는 경우 server.php의 이름을 index.php로 변경하고 코어 파일 경로로 변경하십시오. 분명히하지 마십시오. 그렇다면 Laravel이 적절한 해결책이 아니기 때문에 이와 같은 솔루션을 제공하지 않는 이유는 무엇입니까?
1) Laravel에서 htaccess를 사용하여 URL에서 공개 제거
루트에 .htaccess 파일을 추가하면 공개하지 않고 웹 사이트에 액세스 할 수 있습니다
<ifmodule mod_rewrite.c>
<ifmodule mod_negotiation.c>
Options -MultiViews
</ifmodule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
</ifmodule>
2) 로컬에 가상 호스트를 만들어 공개를 제거하십시오.
Window 운영 체제에 대한 데모를 제공합니다. 그러나 누구나 쉽게 단계를 수행 할 수 있도록 단계를 정의하려고합니다. 특정 운영 체제에 대해 동일한 것을 Google에서 조사 할 수도 있습니다.
1 단계 : C : \ Windows \ system32 \ drivers \ etc \로 이동하여 "hosts"파일을 관리자 모드로 엽니 다.
2 단계 : 다음 코드를 추가하십시오. 여기서는 projectname.local 도메인 이름 데모 데모를 제공하며 원하는대로 지정할 수 있습니다. 모든 장소에서 일정하게 유지하십시오.
127.0.0.1 projectname.local
3 단계 : 이제 C:\xampp\apache\conf\extra
xampp 사용자 및 wamp 사용자 "C:\wamp\bin\apache\Apache2.4.4\conf\extra"
및 열린 "httpd-vhosts.conf"
파일로 이동하십시오. 이제 다음 코드를 추가하십시오.
참고 : 프로젝트에 따라 문서 루트를 변경하면 "호스트"파일에 정의한대로 도메인 이름도 추가됩니다.
<VirtualHost projectname.local>
ServerAdmin projectname.local
DocumentRoot "C:/xampp/htdocs/projectdir"
ServerName projectname.local
ErrorLog "logs/projectname.local.log"
CustomLog "logs/projectname.local.log" common
</VirtualHost>
4 단계 : 마지막으로 중요한 단계는 Xampp 또는 Wamp를 다시 시작하고 URL과 같은 URL에 액세스하는 http://projectname.local
것입니다. Laravel은 공개 URL없이 응답합니다.
3) Laravel에서 명령을 실행하여 공개를 제거하십시오
로컬에서 작업하는 경우 터미널 또는 명령 줄 도구에서 다음 명령을 실행하기 만하면됩니다. 그런 다음 명령 줄에서 제공 한 URL로 웹 사이트에 액세스 할 수 있습니다.
> php artisan serve
특정 IP에서 프로젝트를 기꺼이 실행하려면 다음 명령을 실행해야합니다. LAN에서 작업하는 경우 다른 사람이 로컬에서 웹 사이트에 액세스 할 수있게하려면 명령에 따라 IP 주소를 실행 한 후 "ipconfig"를 실행하여 명령 줄을 사용하여 IP 주소를 확인하면됩니다.
> php artisan serve --host=192.168.0.177
특정 포트가있는 특정 IP에서 프로젝트를 실행하려면 다음 명령이 필요합니다.
> php artisan serve --host=192.168.0.177 --port=77
4) 호스팅 된 서버 또는 cpanel에서 공개 제거
프로젝트를 완료 한 후에는 서버에서 프로젝트를 호스팅해야하며 도메인의 문서 루트를 공용 폴더로 설정하면됩니다. 아래 스크린 샷을 확인하십시오.
스크린 샷에 따라 public_html에 프로젝트 폴더가 없으면 문서 루트를 다음과 같이 설정하면 "public_html/public"
됩니다.
여기 에서 가져온 참조