要让 Nginx 隐藏 .php 后缀,你需要在 Nginx 配置文件中使用 rewrite 规则。以下是一个示例配置,它将所有请求指向 .php 文件而不显示在 URL 中:
server { listen 80; server_name example.com; root /path/to/your/root; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的 PHP 版本和配置调整 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
在这个配置中,当请求一个不存在的文件或目录时,Nginx 会尝试将请求重写为 .php 文件,如果该文件存在,则处理它作为 PHP 脚本。这样,用户请求的 URL 不会显示 .php 后缀。
确保你的 PHP-FPM 服务正在运行,并且根据你的 PHP 安装调整 fastcgi_pass 指令。如果你使用的是 Apache 或其他服务器软件,相应地调整 fastcgi_pass 指令。