我将一些.htaccess规则转换为Nginx服务器时遇到问题.
RewriteRule ^$index.PHP [L]
RewriteRule ^([A-Za-z0-9-]+)?$index.PHP?section=$1 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$index.PHP?section=$1&go=$2 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$index.PHP?section=$1&go=$2&action=$3 [L]
有人能够协助转换和解释这些正则表达式如何转换为Nginx?
server {
rewrite ^([A-Za-z0-9-]+)?$index.PHP?section=$1&go=$2;
}
我也尝试过根位置块,如下所示.我不确定try_files如何影响这个.
location / {
rewrite ^$/index.PHP break;
rewrite ^([A-Za-z0-9-]+)?$/index.PHP?section=$1 break;
rewrite ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$/index.PHP?section=$1&go=$2 break;
rewrite ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$/index.PHP?section=$1&go=$2&action=$3 break;
rewrite ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$/index.PHP?section=$1&go=$2&action=$3&id=$4 break;
try_files $uri $uri/ /index.PHP?$args;
}
但这似乎不起作用.这是否需要先放在位置块中?
我正在测试的URL如下.主机名已被删除,因为我不允许分享它.
http://www.example.com/entry
http://www.example.com/volunteers
http://www.example.com/contact
基本上,页面正在加载,就好像正在访问index.PHP一样,如果有意义,则不加载这些部分.似乎没有任何内容传递到index.PHP脚本中.
最佳答案
原文链接:https://www.f2er.com/nginx/435305.html