【发布时间】:2022-01-05 08:48:26
【问题描述】:
互联网上有几十个类似的问题(stackoverflow 和其他网站),但没有一个对我有用。 我正在尝试重写我的 URL 以在最后摆脱 .php 扩展名。我已经在我的配置中尝试了常见的重写。 我希望有人知道我还没有使用的答案。
【问题讨论】:
标签: php nginx url url-rewriting
互联网上有几十个类似的问题(stackoverflow 和其他网站),但没有一个对我有用。 我正在尝试重写我的 URL 以在最后摆脱 .php 扩展名。我已经在我的配置中尝试了常见的重写。 我希望有人知道我还没有使用的答案。
【问题讨论】:
标签: php nginx url url-rewriting
在您的 vhost 配置文件或 nginx.conf 文件中,在内部服务器块中添加以下行:
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 ^(.*)$ $1.php last; }
使用前需要重启Nginx。
【讨论】:
你可以使用 .htaccess
在你的 PHP 文件所在的目录中新建一个文件,新建一个名为 .htaccess 的文件,在其中输入以下内容:
RewriteCond %{THE_REQUEST} ^.*/*\.php
RewriteRule ^(.*).php$ /$1 [R=301,L]
【讨论】: