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

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

Patricia Arquette
發布: 2024-11-24 03:53:09
原創
383 人瀏覽過

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

從NGINX 中的URL 中刪除.php 和.html 副檔名

解決顯示沒有.php 或.html 的乾淨URL 的問題擴展,您可以在nginx在配置中實現以下配置file.

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;
}
登入後複製

此配置透過先檢查請求的 URI 來實現所需的結果。如果 URI 存在,則按原樣顯示。如果不存在,它將檢查擴展名為 .html 的 URI。最後,如果 URI 和帶有 .html 副檔名的 URI 都不存在,它將重寫 URI 以新增 .php 副檔名並嘗試顯示該檔案。

透過新增此配置,Nginx 將:

  1. 檢查 http://www.mydomain.com/indexhtml http://www.mydomain.com/indexhtml.html。
  2. 檢查 http://www.mydomain.com/indexphp 為 http://www.mydomain.com/indexphp.php。
  3. 如果indexhtml.html和indexphp.php都不存在,則將indexhtml重寫為indexhtml.php,將indexphp重寫為indexphp.php,

將此配置新增到檔案後,重新啟動Nginx,您的URL 應該乾淨地顯示,沒有副檔名。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板