ホームページ > バックエンド開発 > PHPチュートリアル > NGINX で URL からファイル拡張子を削除するにはどうすればよいですか?

NGINX で URL からファイル拡張子を削除するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-17 14:02:02
オリジナル
265 人が閲覧しました

How to Remove File Extensions from URLs in NGINX?

NGINX の URL からファイル拡張子を削除する

よりクリーンな URL 構造を表示するには、「.php」と「.html」を削除します。 Web サイト上のすべての URL から " 拡張子を削除しました。

最初は、次のコマンドを使用して ".html" 拡張子を正常に削除しました。次の構成:

location / {
    root   html;
    index  index.html index.htm index.php;
    try_files $uri.html $uri/ =404; 
}
ログイン後にコピー

ただし、この構成は「.php」拡張子では機能しません。この問題を解決するには、NGINX 構成ファイルを次のように変更できます:

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;
}
ログイン後にコピー

この構成により、すべての URL から「.php」と「.html」の両方の拡張子が削除されます:

  • try_files $uri $uri.html $uri/ は、元の URL、「.html」拡張子の付いた URL、および URL をチェックします。
  • これらのファイルが存在しない場合は、リクエストを @extensionless-php の場所に転送します。
  • try_files $uri =404; location ~ .php$ ブロックは、「.php」で終わる URL に対して明示的に 404 エラーを返します。
  • 最後に、@extensionless-php の場所は URL を書き換えて、「.php」拡張子が追加されていない場合は追加します。まだ存在しません。

これらの変更を加えた後に NGINX を再起動すると、ファイルなしで URL が表示されるようになります。拡張機能。

以上がNGINX で URL からファイル拡張子を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート