有效重写的状态404,预期的索引处理程序

时间:2018-02-14 19:34:00

标签: nginx url-rewriting

song.split有一个location /但有些东西是worg ...

将NGINX全新安装到UBUNTU 16 LTS,全部为@rewriteIt标准。

NGINX无视我的重写,为什么?如何修复apt重定向到example.com/foo

测试状态和动态页面,除了重写之外都很好:

使用脚本

example.com

test.php

更改为server { server_name example.com www.example.com; root /var/www/example.com/; index index.php index.html index.htm; location / { # ignoring here? try_files $uri $uri/ @rewriteIt =404; } location @rewriteIt { # something wrong here? rewrite ^/?([a-zA-Z0-9\-]+)/?$ test.php?obj=$1 last; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } } 时相同。

默认

try_files $uri $uri/ @rewriteIt;

1 个答案:

答案 0 :(得分:1)

命名位置必须是try_files语句的最后一个参数,替换=404项。有关详细信息,请参阅this document

还有第二个错误。 nginx中的所有URI都以前导/开头,因此rewrite语句应指定/test.php?obj=$1作为目标。