首頁 >後端開發 >php教程 >如何從 NGINX 中的 URL 中刪除檔案副檔名?

如何從 NGINX 中的 URL 中刪除檔案副檔名?

Patricia Arquette
Patricia Arquette原創
2024-11-17 14:02:02269瀏覽

How to Remove File Extensions from URLs in NGINX?

從NGINX 中的URL 中刪除檔案副檔名

為了呈現更清晰的URL 結構,您需要刪除「.php」和“.html” " 網站上所有網址的副檔名。

最初,您使用以下方法成功刪除了“.html”副檔名以下配置:

location / {
    root   html;
    index  index.html index.htm index.php;
    try_files $uri.html $uri/ =404; 
}

但是,此配置不適用於「.php」副檔名。 html」副檔名:

location / {
    try_files $uri $uri.html $uri/ @extensionless-php;
    index index.html index.htm index.php;
}

location ~ \.php$ {
    try_files $uri =404;
}

location @extensionless-php {
    rewrite ^(.*)$ .php last;
}

try_files $uri $uri.html $uri/ 檢查原始URL、帶有「.html」副檔名的URL 以及作為

    如果這些檔案都不存在,它將請求轉送到@extensionless-php 位置。
  • 最後,@extensionless-php 位置會重寫URL 以新增「.php」副檔名(如果不存在)尚不存在。 ,您的URL 現在將在沒有檔案的情況下顯示擴充功能。

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

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