Php 将规则从Apache转换为Nginx
我已经将服务器从Apache切换到了Nginx 除了最后一点,一切都正常 在Apache中,我有以下规则:Php 将规则从Apache转换为Nginx,php,html,apache,nginx,web,Php,Html,Apache,Nginx,Web,我已经将服务器从Apache切换到了Nginx 除了最后一点,一切都正常 在Apache中,我有以下规则: RewriteRule ^event/(.*)$ /event.html [L] RewriteRule ^/event/(.*)$ /event.html [L] RewriteRule ^venue/(.*)$ /venue.html [L] RewriteRule ^/venue/(.*)$ /venue.html [L] RewriteRule ^calendar/day/(.*)
RewriteRule ^event/(.*)$ /event.html [L]
RewriteRule ^/event/(.*)$ /event.html [L]
RewriteRule ^venue/(.*)$ /venue.html [L]
RewriteRule ^/venue/(.*)$ /venue.html [L]
RewriteRule ^calendar/day/(.*)$ /calendar/day.html [L]
RewriteRule ^/calendar/day/(.*)$ /calendar/day.html [L]
RewriteRule ^calendar/month/(.*)$ /calendar/month.html [L]
RewriteRule ^/calendar/month/(.*)$ /calendar/month.html [L]
但在Nginx中无法正确使用它们。实施情况如下:
location /event {
rewrite ^/event/(.*)$ /event.html break;
rewrite ^/event/(.*)$ /event.html break;
}
location /venue {
rewrite ^/venue/(.*)$ /venue.html break;
rewrite ^/venue/(.*)$ /venue.html break;
}
location /calendar {
rewrite ^/calendar/day/(.*)$ /calendar/day.html break;
rewrite ^/calendar/day/(.*)$ /calendar/day.html break;
rewrite ^/calendar/month/(.*)$ /calendar/month.html break;
rewrite ^/calendar/month/(.*)$ /calendar/month.html break;
}
但是当访问上面的内容时,我会被重定向到主页
有人能帮帮我吗?由于已通过
位置定义了斜杠后的路径,因此斜杠后的路径似乎是重复的。试着简单地说:
location / {
rewrite ^/event/(.*)$ /event.html last;
rewrite ^/venue/(.*)$ /venue.html last;
rewrite ^/calendar/day/(.*)$ /calendar/day.html last;
rewrite ^/calendar/month/(.*)$ /calendar/month.html last;
}