웹 서버에서는 특정 파일이나 디렉터리를 찾을 수 없는 상황이 자주 발생합니다. 이때 우리는 이 문제를 해결하기 위해 기본적으로 index.html이나 index.php를 기본 파일로 사용하는 경우가 많습니다. Nginx에서는 index.php가 기본 파일 중 하나입니다.
그러나 때때로 URL에 index.php를 표시하고 싶지 않은 경우가 있습니다. 이는 URL을 아름답게 하거나 웹사이트 보안을 향상시키는 데 중요한 의미를 갖습니다. 그렇다면 Nginx에서 index.php를 취소하는 방법은 무엇입니까?
1. Nginx 구성 파일 수정
Nginx를 설치했고 index.php를 취소하려면 Nginx 구성 파일을 수정해야 합니다. Ubuntu 시스템에서 Nginx 구성 파일의 경로는 "/etc/nginx/sites-available/default"입니다.
파일에서 "index" 지시문을 찾으세요. 즉:
index index.html index.htm index.nginx-debian.html;
여기에서 "index.php"를 삭제하고 다음으로 변경해야 합니다:
index index.html index.htm index.nginx-debian.html;
또는 index.php의 순위를 뒤처지게 하려면 다음과 같이 하세요.
index index.html index.htm index.nginx-debian.html index.php
2. Nginx 가상 호스트 구성
Nginx에서는 각 웹사이트에 가상 호스트가 있습니다. 가상 호스트는 각 웹사이트마다 독립적인 환경을 제공하여 각 웹사이트마다 다른 기능을 설정할 수 있습니다. 여기서는 각 가상 호스트에 대해 index.php를 구성하고 취소해야 합니다.
1. Nginx 가상 호스트 구성 파일 열기
sudo nano /etc/nginx/sites-available/default
2. 가상 호스트에서 index.php 취소
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; # 列出默认文件 index index.html index.htm; # 取消index.php,即移除它 location / { try_files $uri $uri/ =404; } # 处理PHP脚本 location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } # 处理网站资源 location ~* .(js|css|png|jpg|jpeg|gif|ico)$ { expires 30d; add_header Cache-Control "public, no-transform"; } # 处理网站图标 location /favicon.ico { access_log off; log_not_found off; } }
위 구성 파일에서는 index.php를 취소하고 다른 기본 파일을 설정했습니다. 동시에 위치 블록에서 try_files 지시어를 사용하여 URL이 존재하지 않는 경우 404 오류가 반환됩니다.
3. nginx.conf를 적절하게 수정하세요
Nginx에서는 nginx.conf를 수정하여 index.php 표시를 취소할 수도 있습니다. http 블록에 지시어를 추가해야 합니다:
http { ... # 将index.php从默认文件列表中删除 index index.html index.htm; # 取消index.php location / { try_files $uri $uri/ /index.php?$query_string; } ... }
위 구성에서는 기본 파일 목록에서 index.php를 제거하여 URL이 존재하는지 확인한 다음 해당 위치의 try_files 지시어를 통해 URL이 존재하는지 확인합니다. 차단하고, 존재하지 않는 경우에는 "index.php" 파일을 이용하세요.
4. .htaccess를 통해 index.php 취소
Nginx를 웹 서버로 사용하고 있고 Nginx가 .htaccess 파일을 지원하지 않는 경우 유사한 파일인 .user.ini를 사용할 수 있습니다. .user.ini는 PHP만 지원하는 htaccess 파일입니다. 이를 통해 PHP 구성 정보를 설정할 수 있습니다. 다음 파일을 .user.ini로 저장하세요.
; PHP settings: cgi.fix_pathinfo = 0 cgi.fix_pathinfo = false cgi.fix_pathinfo = off ; nginx settings: try_files $uri $uri/ /index.php?$query_string; ; User-defined settings: index index.php index.html index.htm
그 중 try_files 파일 명령을 시도하여 URL이 존재하는지 확인합니다. 존재하지 않으면 "index.php" 파일을 사용합니다. 동시에 다른 기본 파일도 설정합니다.
5. 요약
이 글에서는 nginx에서 index.php를 취소하는 네 가지 방법을 소개합니다. 이러한 방법 중 하나 이상을 사용하여 웹 사이트의 요구 사항에 따라 목표를 달성할 수 있습니다. 어떤 방법을 사용하든 매우 간단하고 빠릅니다. 귀하의 웹사이트에 보다 사용자 친화적인 URL을 제공하여 더 많은 방문자를 유치하고 웹사이트의 SEO 효과를 향상시킬 수 있습니다.
위 내용은 nginx 라우팅 구성 취소 index.php의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!