我在这里对Nginx有一点新意,所以请耐心等待 –
我想重写一个url,如foo.bar.com/newfoo?limit=30到foo.bar.com/newfoo.php?limit=30 。
看起来很简单,像这样rewrite ^([az]+)(.*)$ $1.php$2 last;
我感到困惑的部分是放在哪里 – 我尝试过一些位置指令,但是我做错了。
这里是我现有的虚拟主机configuration,我应该在哪里实现我的重写?
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;