网站开发 · 2025年4月26日

Zen Cart嵌套目录的Nginx Rewrite规则

Zen Cart嵌套目录的Nginx Rewrite规则,Zen Cart V1.5.1,Ultimate SEO 2.212,nginx/1.4.2下测试通过   完整规则如下         # if the requested file exists, return it immediately     if (-f $request_filename) {         break;     }     #For Ultimate SEO URLs     rewrite ^/(.*)-p-([0-9]+).html$ /index.php?main_page=product_info&products_id=$2&$args last;     rewrite ^/(.*)-c-([0-9]+)_([0-9]+)/$ /index.php?main_page=index&cPath=$2_$3&$args last;     rewrite ^/(.*)-c-([0-9]+)/$ /index.php?main_page=index&cPath=$2&$args last;     rewrite ^/(.*)-m-([0-9]+).html$ /index.php?main_page=index&manufacturers_id=$2&$args last;     rewrite ^/(.*)-pi-([0-9]+).html$ /index.php?main_page=popup_image&pID=$2&$args last;     rewrite ^/(.*)-pr-([0-9]+).html$ /index.php?main_page=product_reviews&products_id=$2&$args last;     rewrite ^/(.*)-pri-([0-9]+).html$ /index.php?main_page=product_reviews_info&products_id=$2&$args last;   # For eazy pages     rewrite ^/(.*)-ezp-([0-9]+).html$ /index.php?main_page=page&id=$2&$args last;   # For Open Operations Info Manager     rewrite ^/(.*)-i-([0-9]+).html$ /index.php?main_page=info_manager&pages_id=$2&$args last;   # For dreamscape’s News & Articles Manager rewrite “^news/?” /index.php?main_page=news&% last; rewrite “^news/rss.xml” /index.php?main_page=news_rss&% last; rewrite “^news/archive/?” /index.php?main_page=news_archive&% last; rewrite “^news/([0-9]{4})-([0-9]{2})-([0-9]{2}).html” /index.php?main_page=news&date=$1-$2-$3&% last; rewrite “^news/archive/([0-9]{4})-([0-9]{2}).html” /index.php?main_page=news_archive&date=$1-$2&% last; rewrite “^news/(.*)-a-([0-9]+)-comments.html” /index.php?main_page=news_comments&article_id=$2&% last; rewrite “^news/(.*)-a-([0-9]+).html” /index.php?main_page=news_article&article_id=$2&% last;    # All other pages # Don’t rewrite real files or directories rewrite “^(.*).html” /index.php?main_page=$1&% last; 请注意这条Rewrite规则,这就是嵌套目录规则   1 rewrite ^/(.*)-c-([0-9]+)_([0-9]+)/$ /index.php?main_page=index&cPath=$2_$3&$args last; 附录,Wordpress安装在子目录时的Rewrite 规则         location / {       rewrite ^/blog/wp-admin$ /blog/wp-admin/ permanent;       if (-f $request_filename/index.html){         rewrite ^/blog/(.*) /blog/$1/index.html break;     }       if (-f $request_filename/index.php){         rewrite ^/blog/(.*) /blog/$1/index.php;     }       if (!-f $request_filename){         rewrite ^/blog/(.*) /blog/index.php;     } }