zen cart 是作为一款国际上比较成熟的商城 CMS,它是支持伪静态的,但要实现伪静态,确实让我等废了很大的功夫才找到实现方法,走了不少弯路。在网上也搜索了不少博客、论坛等资料,但都没有完全解决伪静态这个问题的。
到目前为止,以上方法无论在官网还是前人讲述的步骤与方法,但为不知道我的是怎么回事,我按照上面的方法操作了,也试了多次,终不能实现伪静态,情况是:打开首页,产品页的 URL 是变成以.HTML 结尾的静态 URL 了,但点击后,总是出现烦人的 404 错误。网上找了无数贴子与前人的博文,但都讲的是上面的方法。
也可能 zencart 要实现伪静态涉及太多东西了吧。经过不少的时间才实现了 zen cart 伪静态,现把我的经验和大家分享。
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;
}
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!