我认为在 Nginx 中重写将是直截了当的。看起来不是。
我想从你们那里得到一些帮助。我之前的设置是 Apache2 + PHP。我的新设置是 Nginx + PHP-FPM。
我想从 Apache2 转换一个简单的虚拟主机。
目录结构为:
/api(这是根)
版本 (1)
--- api.php
--- .htaccess
外汇。域名.tld/1/
.htaccess 文件如下所示:
RewriteEngine on
RewriteRule ^([a-z]+)/([a-z]+)/api.json$ api.php?app=$1&sapp=$2 [L,QSA]
RewriteRule ^([a-z]+)/api.json$ api.php?app=$1 [L,QSA]
我的新 Nginx 服务器文件如下所示:
server {
listen 80;
root /var/www/domain.tld/api;
index index.php index.html;
server_name domain.tld;
location /1/ {
rewrite ^/([a-z]+)/([a-z]+)/api\.json$ /api.php?app=$1&sapp=$2;
rewrite ^/([a-z]+)/api\.json$ /api.php?app=$1;
}
location ~ \.php$ {
include php5;
}
}
但是当我尝试查看时它不起作用: domain.tld/1/view/api.json 或 domain.tld/1/view/extended/api.json
谁能解释并举一些例子来解决这个问题?
提前致谢。