我在这里对Nginx有点新意,所以请耐心等待 –
我想将foo.bar.com/newfoo?limit=30这样的网址重写为foo.bar.com/newfoo.PHP?limit=30.
看起来非常简单,像这样重写^([a-z])(.*)$$1.PHP $2 last;
我感到困惑的部分是放在哪里 – 我已经尝试了一些位置指令,但我做错了.
这是我现有的虚拟主机配置,我应该在哪里实现我的重写?
server {
listen 80;
listen [::]:80;
server_name foo.bar.com;
root /home/foo;
index index.PHP index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
deny all;
}
location ~ \.PHP${
try_files $uri =404;
fastcgi_split_path_info ^(.+\.PHP)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/tmp/PHP5-fpm.sock;
fastcgi_index index.PHP;
}
}
谢谢!
最佳答案
try_files $uri $uri/ $uri.PHP /index.html;