你现在的位置:首页 > PHP网站建设知识库 > ZenCart > 正文

设置zencart搜索引擎优化 / SEO,去掉zenid办法

zencart后台的 商店设置-搜索引擎优化 选项下打开SEO功能,SEO模块需要检查的就三个地方: 
 
1. 确认网站支持mod_rewrite,且主机允许你使用自己的.htaccess文件 
 
2. .htaccess 文件名字正确 (前面有个点) 
 
3. 将根目录下的文件htaccess_sample改名为 .htaccess,并修改其中的 /shop/ 为您的zen cart目录。 
如果你的域名指向的目录是zencart的根目录,那么 RewriteBase / 
如果是 这样的形式打开网站,那么 RewriteBase /zencart/ 
 
 
.htaccess内容: 
##### NOTE: Replace /shop/ with the relative web path of your catalog in the "Rewrite Base" line below: 
 
Options +FollowSymLinks 
RewriteEngine On 
RewriteBase /zc/ 
 
# From Ultimate SEO URLs 
RewriteRule ^(.*)-p-(.*).html$ index\.php?main_page=product_info&products_id=$2&%{QUERY_STRING} [L] 
RewriteRule ^(.*)-c-(.*).html$ index\.php?main_page=index&cPath=$2&%{QUERY_STRING} [L] 
RewriteRule ^(.*)-m-([0-9]+).html$ index\.php?main_page=index&manufacturers_id=$2&%{QUERY_STRING} [L] 
RewriteRule ^(.*)-pi-([0-9]+).html$ index\.php?main_page=popup_image&pID=$2&%{QUERY_STRING} [L] 
RewriteRule ^(.*)-pr-([0-9]+).html$ index\.php?main_page=product_reviews&products_id=$2&%{QUERY_STRING} [L] 
RewriteRule ^(.*)-pri-([0-9]+).html$ index\.php?main_page=product_reviews_info&products_id=$2&%{QUERY_STRING} [L] 
RewriteRule ^(.*)-ezp-([0-9]+).html$ index\.php?main_page=page&id=$2&%{QUERY_STRING} [L] 
 
# For Open Operations Info Manager 
RewriteRule ^(.*)-i-([0-9]+).html$ index\.php?main_page=info_manager&pages_id=$2&%{QUERY_STRING} [L] 
 
# For dreamscape's News & Articles Manager 
RewriteRule ^news/?$ index\.php?main_page=news&%{QUERY_STRING} [L] 
RewriteRule ^news/rss.xml$ index\.php?main_page=news_rss&%{QUERY_STRING} [L] 
RewriteRule ^news/archive/?$ index\.php?main_page=news_archive&%{QUERY_STRING} [L] 
RewriteRule ^news/([0-9]{4})-([0-9]{2})-([0-9]{2}).html$ index\.php?main_page=news&date=$1-$2-$3&%{QUERY_STRING} [L] 
RewriteRule ^news/archive/([0-9]{4})-([0-9]{2}).html$ index\.php?main_page=news_archive&date=$1-$2&%{QUERY_STRING} [L] 
RewriteRule ^news/(.*)-a-([0-9]+)-comments.html$ index\.php?main_page=news_comments&article_id=$2&%{QUERY_STRING} [L] 
RewriteRule ^news/(.*)-a-([0-9]+).html$ index\.php?main_page=news_article&article_id=$2&%{QUERY_STRING} [L] 
 
# All other pages 
# Don't rewrite real files or directories 
RewriteCond %{REQUEST_FILENAME} !-f [NC]  
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*).html$ index\.php?main_page=$1&%{QUERY_STRING} [L] 
 
 
 
 
去除zencart程序的zenid有两种方法 
 
1)、在后台 Configuration->session 将 Force Cookie Use 设置为ture; 
一般如果网站只是在刚开启的时候存在 zenid 的话,只要这样设置一下就可以了; 
另一种就是从头到尾,URL地址后面一直都会有一串zenid= 参数后缀,这个情况可能是因为缓存文件夹没有写分配权限或者不存在,可以试试方案2。 
 
 
2)、引用英文论坛上的一个正确回复: 
In case some of you are wondering why zen_id is all of a sudden being added to your links (or always has) and you want it gone: 
Be sure that your “Session Directory” in Configuration>Sessions is set to a directory that actually exists and is writable. If the directory doesn’t exist, then Zen Cart will starting adding zenid to URLS. 
Hope this helps. 
这句话的意思就是说在zen-cart后台的 Configuration>Sessions 里有一项 Session Directory,它是指定session所使用的文件夹的,如果这个文件夹不存在或者不可写的话,那么就会在URL上显示 zenid= ,解决方法就是让这个项所指向的文件夹存在并且可写。