song.split
有一个location /
但有些东西是worg ...
将NGINX全新安装到UBUNTU 16 LTS,全部为@rewriteIt
标准。
NGINX无视我的重写,为什么?如何修复apt
重定向到example.com/foo
?
测试状态和动态页面,除了重写之外都很好:
使用脚本
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;
答案 0 :(得分:1)
命名位置必须是try_files
语句的最后一个参数,替换=404
项。有关详细信息,请参阅this document。
还有第二个错误。 nginx
中的所有URI都以前导/
开头,因此rewrite
语句应指定/test.php?obj=$1
作为目标。