首頁 >後端開發 >php教程 >如何使用 NGINX 從 URL 中刪除 .php 和 .html 副檔名?

如何使用 NGINX 從 URL 中刪除 .php 和 .html 副檔名?

Patricia Arquette
Patricia Arquette原創
2024-11-16 19:42:031029瀏覽

How to Remove .php and .html Extensions from URLs Using NGINX?

如何使用NGINX 從URL 中刪除.php 和.html 副檔名

簡介

提供Web 內容時,出於美觀或安全原因,可能需要在URL 中隱藏檔案副檔名。這可以使用流行的 Web 伺服器軟體 NGINX 來實現。

問題

目標是從 URL 中刪除 .php 和 .html 副檔名,同時保留其功能。例如,URL http://www.mydomain.com/indexhtml.html 應顯示為http://www.mydomain.com/indexhtml,而http://www.mydomain.com/indexphp.php 應顯示為顯示為http://www.mydomain.com/indexphp。

解決方案

可以使用以下NGINX配置來達到預期的結果:

說明

  • 位置/: 此區塊適用於網站根目錄的所有請求。
  • try_files: 指令嘗試尋找 $uri 指定的檔案。如果該檔案不存在,它會嘗試尋找 $uri.html 或同名目錄。如果兩者都不存在,它將把請求傳遞給 @extensionless-php 位置區塊。
  • index: 此指令指定當 $uri 指向目錄時要提供的預設檔。
  • location ~ .php$: 此區塊符合以 .php 結尾的請求。
  • try_files $uri =404: 如果滿足下列條件,此指令將傳回 404 錯誤URI 正是一個 .php 檔案(不含目錄)。
  • location @extensionless-php: 此區塊是重新佈線發生的地方。
  • 重寫: 這個指令將請求重寫為新增了 .php 副檔名的 URI。最後一個標誌可防止進一步重寫。

透過實作此配置,.php 和 .html 副檔名都會自動從 URL 中刪除,從而提供乾淨且使用者友好的瀏覽體驗。

以上是如何使用 NGINX 從 URL 中刪除 .php 和 .html 副檔名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn