[英]Translating Rules from Apache to Nginx
我已將服務器從 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/(.*)$ /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
定義,似乎斜線后的路徑被復制。 試試這個:
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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.