小编Tho*_*mas的帖子

包含“PHP”的 Nginx 重定向 URL

最近我将使用 PHP/Apache 的网站更改为 Django/Nginx。我想给出一个 http 响应 301 并将所有在 url 中包含“.php”的请求重定向到我的主页。

例子:

example.com/**?page=show.php&id=2748**

example.com/**index.php?page=show_page.php&id=2748**
Run Code Online (Sandbox Code Playgroud)

“.php”可以在 URL 中的任何位置。

我试过:

location ~ \.php {
        rewrite ^/(.*) http://www.example.com permanent;
    }   
Run Code Online (Sandbox Code Playgroud)

但是,当然,它只在最后有 .php 时才有效。有人可以给我一个线索吗?

更新:如果我使用这个解决方案:

            if ($request_uri ~* "php") {
           rewrite ^/(.*) http://www.example.com permanent;
        }   
Run Code Online (Sandbox Code Playgroud)

我在日志中收到以下错误:

[29/Aug/2011:13:30:25 -0300] "GET /?page=show_page.php&id=2748 HTTP/1.0" 301 184 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0"
[29/Aug/2011:13:30:26 -0300] "GET /?page=show_page.php&id=2748 HTTP/1.0" 301 184 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0"
[29/Aug/2011:13:30:26 -0300] "GET /?page=show_page.php&id=2748 HTTP/1.0" 301 184 …
Run Code Online (Sandbox Code Playgroud)

nginx redirect

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

nginx ×1

redirect ×1