nginx下的zencart伪静态规则
目前市场上使用 zencart 的后台处理端多数基于 apache 处理端下运行,这导致一个问题就是当您后台产品数量不断增加时, apache 处理端 在php 性能处理上会出现缓慢,CPU高占用的情况。
Nginx 是一个很强大的高性能Web服务,它具有很多非常优越的特性:
在连接高并发的情况下,Nginx是apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应。
zencart 由 apache 转向 nginx 时有个问题就是 伪静态规则不兼容,当您的网站采用了 APACHE 的伪静态规则后,切换到 nginx 访问网站内容,列表页时会出现 404 错误页面。
这时候我们使用 下面的 nginx 覆盖掉 APACHE 的伪静态规则,就会发现 列表页,内容页的 404错误将不在存在。
location / {
if (-d $request_filename) {
break;
}
if (-f $request_filename) {
break;
}
#handle the new URL formats
rewrite ^/(.*)-c-([0-9_]+)/(.*)-p-([0-9]+)(.*)$ /index.php?main_page=product_info&products_id=$4&cPath=$2&$args last;
rewrite ^/(.*)-c-([0-9_]+)/(.*)-pi-([0-9]+)(.*)$ /index.php?main_page=popup_image&pID=$4&cPath=$2&$args last;
rewrite ^/(.*)-c-([0-9_]+)/(.*)-pr-([0-9]+)(.*)$ /index.php?main_page=product_reviews&products_id=$4&cPath=$2&$args last;
rewrite ^/(.*)-c-([0-9_]+)/(.*)-pri-([0-9]+)(.*)$ /index.php?main_page=product_reviews_info&products_id=$4&cPath=$2&$args last;
# From Ultimate SEO URLs
rewrite ^/(.*)-p-([0-9]+)(.*)$ /index.php?main_page=product_info&products_id=$2&$args last;
rewrite ^/(.*)-m-([0-9]+)(.*)$ /index.php?main_page=index&manufacturers_id=$2&$args last;
rewrite ^/(.*)-pi-([0-9]+)(.*)$ /index.php?main_page=popup_image&pID=$2&$args last;
rewrite ^/(.*)-pr-([0-9]+)(.*)$ /index.php?main_page=product_reviews&products_id=$2&$args last;
rewrite ^/(.*)-pri-([0-9]+)(.*)$ /index.php?main_page=product_reviews_info&products_id=$2&$args last;
rewrite ^/(.*)-ezp-([0-9]+)(.*)$ /index.php?main_page=page&id=$2&$args last;
rewrite ^/(.*)-c-([0-9_]+)(.*)$ /index.php?main_page=index&cPath=$2&$args last;
#tags_products
rewrite ^/tags_products/$ /index.php?main_page=tags_products last;
rewrite ^/tags_products/(.*)_([0-9]+).html$ /index.php?main_page=tags_products&tags_name=$1&tags_id=$2&$args last;
# For product tags
rewrite ^/producttags/$ /index.php?main_page=producttags last;
rewrite ^/producttags/(.*)/$ /index.php?main_page=producttags&letter=$1&$args last;
rewrite ^/producttags/([w])/([0-9]+).html$ /index.php?main_page=producttags&letter=$1&page=$2&$args last;
# For wishlist
rewrite ^/wishlist/$ /index.php?main_page=wishlist last;
rewrite ^/wishlist/([w])/$ /index.php?main_page=wishlist&letter=$1&$args last;
rewrite ^/wishlist/([-w]+)/([0-9]+).html$ /index.php?main_page=wishlist&letter=$1&page=$2&$args last;
# For Open Operations Info Manager
rewrite "^/(.*)-i-([0-9]+).html" /index.php?main_page=info_manager&pages_id=$2&% last;
# For 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;
rewrite "^(.*).html" /index.php?main_page=$1&% last;
rewrite ^/(.*)$ /index.php?main_page=$1&$args last;
}Zencart提示:WARNING: An Error occurred, please refresh the page and try again.的解决方案
解决PHP date调用警告:It is not safe to rely on the system's timezone settings (zencart)
