简单的 NGinx 重写就是重定向

简单的 NGinx 重写就是重定向

我正在尝试为在我的 Nginx 服务器上运行的网站设置一个友好的 URL,但是由于某种原因,该 URL 被重定向而不是被重写。

例如,如果用户访问 mydomain.com/aboutme/,我希望 mydomain.com/aboutme/ 保留在地址栏中,但内容从 mydomain.com/aboutme.php 中提取

在我的 Nginx 站点配置中,我有以下内容(这是一个简单示例,为了简单起见,删除了一些内容):

server {
    listen 1.2.3.4:80;
    server_name www.mydomain.com;

    location / {
        rewrite ^/aboutus/$ http://www.mydomain.com/aboutus.php permanent;
    }

}

无论出于什么原因,Nginx 似乎坚持将“友好”的 url 重定向到 php 文件,但我想要一个更传统的“重写”(就像我之前在 Apache mod_rewrite 中所做的那样,没有问题)。

我可能做错了什么,但如果我能弄清楚是什么的话,我会非常高兴。

答案1

您收到 301 重定向是因为你明确要求进行 301 重定向

要修复该问题,请使用相对目标 URL,而last不是permanent

例如:

rewrite ^/aboutus/$ /aboutus.php last;

相关内容