火狐与IE的兼容之img 篇
火狐与IE不和已被大家广泛认可。
这几天无风的飘逸又探测到一点,于是马上记下来了。
<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='D:/sveinjoe/sites/sitemanager/temp/CR-AySZjEbkCa.jpg'></center><br><center>
像这样的scr指向一个windows绝对地址的形式,火狐是不支持的哦,它会识别不出来图片的位置的,而IE可以。
火狐与IE不和已被大家广泛认可。
这几天无风的飘逸又探测到一点,于是马上记下来了。
<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='D:/sveinjoe/sites/sitemanager/temp/CR-AySZjEbkCa.jpg'></center><br><center>
像这样的scr指向一个windows绝对地址的形式,火狐是不支持的哦,它会识别不出来图片的位置的,而IE可以。
来这个论坛也有些日子了,一直在吸收,挺过意不去的…… ID也是刚注册的
最近看到很多人朋友在问如何调用 news_articles_management_v2_110 的新闻,今天就把我的经验分享给大家~~
下载includes附件解压到相应目录(your_templates表示你的模板目录)
找到 includes/templates/your_templates/css/stylesheet_your_templates.css 文件,加入如下代码(调用列表的CSS可根据自己需要调整):
/* news list */
.newslist {width:791px;margin:auto;margin-top:10px;border:solid 1px #D3D3D3;color:#000000;}
.newslist .newsheader {line-height:30px;height:30px;text-align:left;margin-left:15px;margin-right:15px;border-bottom:solid 1px #D3D3D3;}
.newslist .box5 {width:293px;margin-left:8px;padding-left:5px;padding-top:4px;padding-bottom:4px;float:left;background:url(../images/icon_itf.gif) left center no-repeat;}
.newslist .box5 a {color:#000000;}/* call news list */然 后找到includes/templates/your_templates/common/tpl_main_page.php 找到如下代码:
<?php
/**
* prepares and displays footer output
*
*/
if (CUSTOMERS_APPROVAL_AUTHORIZATION == 1 && CUSTOMERS_AUTHORIZATION_FOOTER_OFF == 'true' and ($_SESSION['customers_authorization'] != 0 or $_SESSION['customer_id'] == '')) {
$flag_disable_footer = true;
}
require($template->get_template_dir('tpl_footer.php',DIR_WS_TEMPLATE, $current_page_base,'common'). '/tpl_footer.php');
?>在 这些段上面加入此段代码(这段是调用新闻列表的位置,自己根据需要调整):
<?php
/**
* prepares and displays news
*/
require($template->get_template_dir('tpl_modules_news_list.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_news_list.php');?>
最 后找到/includes/modules/meta_tags.php 文件加入如下代码(此段是定义文章title代码):
//// Dynamic titles for news pages
// BOF
case 'news':
if (isset($_GET['date']) && zen_not_null($_GET['date'])) {
define('META_TAG_TITLE', (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . SECONDARY_SECTION : '') . zen_date_long($date) . PRIMARY_SECTION . TITLE . TAGLINE);
} else {
define('META_TAG_TITLE', (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . PRIMARY_SECTION : '') . TITLE . TAGLINE);
}
define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . NAVBAR_TITLE . SECONDARY_SECTION . KEYWORDS);
define('META_TAG_KEYWORDS', KEYWORDS . ' ' . NAVBAR_TITLE);
break;
case 'news_article':
define('META_TAG_TITLE', $article->fields['news_article_name'] . PRIMARY_SECTION . TITLE . TAGLINE);
define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . NAVBAR_TITLE . SECONDARY_SECTION . KEYWORDS);
define('META_TAG_KEYWORDS', KEYWORDS . ' ' . NAVBAR_TITLE);
break;
case 'news_comments':
define('META_TAG_TITLE', (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . SECONDARY_SECTION : '') . $article->fields['news_article_name'] . SECONDARY_SECTION . NAVBAR_TITLE_COMMENTS . PRIMARY_SECTION . TITLE . TAGLINE);
define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . NAVBAR_TITLE . SECONDARY_SECTION . KEYWORDS);
define('META_TAG_KEYWORDS', KEYWORDS . ' ' . NAVBAR_TITLE);
break;
case 'news_archive':
define('META_TAG_TITLE', (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . SECONDARY_SECTION : '') . news_date_archive($archive_date) . PRIMARY_SECTION . TITLE . TAGLINE);
define('META_TAG_DESCRIPTION', TITLE . PRIMARY_SECTION . NAVBAR_TITLE . SECONDARY_SECTION . KEYWORDS);
define('META_TAG_KEYWORDS', KEYWORDS . ' ' . NAVBAR_TITLE);
break;
// EOF
//// Dynamic titles for news pages
2010年,谷歌出现经常性的休克,以下是截图
经常这样,怀疑谷歌是不是又被攻击了?
看了谷歌的官方博客,说撤出中国是因为被黑客攻击,难道撤出中国黑客就不会攻击了吗?很难理解,总感觉这个理由不是很正点。
继续前面的SEO+溜冰问题。
去年到今年,也去溜了不少,总感觉在溜冰场,大家都是漫无目的地绕着圈圈。
初入SEO行业,我也迷惘了,因为它不像把石头丢到河里马上就能看到水花那么简单,它是一个长期的过程。
所以在这个漫长的过程里,很容易迷路。
每天反省一次,每天纠正一次错误。每天再勤快一点。
.htaccess是Apache服务器的一个非常强大的分布式配置文件。
正确的理解和使用.htaccess文件,可以帮助我们优化自己的服务器或者虚拟主机。
以windows为例,进入apache/conf目录,找到httpd.conf文件,去掉
LoadModule rewrite_module modules/mod_rewrite.so
前面的#,然后设置目录属性AllowOverride All,重启apache即可
下面是一个典型的htaccess文件
# 开启URL重写
RewriteEngine on
# URL重写的作用域
# RewriteBase /path/to/url
# 满足怎样的条件
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
# 应用怎样的规则
RewriteRule .? http://www.example.com%{REQUEST_URI} [R=301,L]
来看看RewriteCond,首先有一个%,因为{HTTP_HOST}是一个apache变量,需要用%来指示。从!开始就是匹配的条件,支持 正则。!表示不等于,这句话的意思就是:如果HTTP_HOST不是www.example.com。后面的[NC](no case)表示忽略大小写,常见的还有
图片防盗链
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com/ [NC]
RewriteRule \.(gif|jpg|png)$ - [F]
由于是基于HTTP_REFERER的验证,所以只能防止一般的图片盗链,因为HTTP_REFERER是比较容易伪造的
自定义404错误页面
如果用户输入了一个不存在的url,那么就显示自定义的错误页面
ErrorDocument 404 /404.html # 其他同理 ErrorDocument 500 /500.html
处理移动过的文件
Redirect 301 /old.html http://yoursite.com/new.html # 也可以是下面这样 RewriteRule /old.html http://yoursite.com/new.html [R=301,L] # 如果想隐式跳转(URL地址不变,但实际上内容是其他URL的),就使用下面的 RewriteRule /old.html http://yoursite.com/new.html [L]
对于RewriteRule还有好多文章可以做,比如
# 把html后缀的url链接到php文件 # $1指代的是前面第1个用括号括起来的内容 RewriteRule ^/?([a-z/]+)\.html$ $1.php [L] # 或者把旧文件夹的内容链接到新文件夹 RewriteRule ^/?old_directory/([a-z/.]+)$ new_directory/$1 [R=301,L] # 隐藏文件名 RewriteRule ^/?([a-z]+)$ $1.php [L]
如果目录里没有index文件,又没有对该目录做过特别的处理,尤其是windows主机,那么该目录里的内容就会显示出来,这时可以在根目录创建 一个.htaccess文件,然后写上
Options -Indexes # 就这么一句就搞定了
阻止/允许特定IP/IP段
# 禁止所有IP,除了指定的 order deny,allow deny from all # 如果想允许IP段,如123.123.123.0 ~ 123.123.123.255,则 # allow from 123.123.123. allow from 123.123.123.123 ErrorDocument 403 /page.html <Files page.html> allow from all </Files> #如果想禁止特定IP deny from 123.123.123.123
添加MIME类型
AddType video/x-flv .flv # 如果设置类型为 application/octet-stream 将提示下载 AddType application/octet-stream .pdf 本文选自无网不剩,文章链接地址:http://lzyy.org/blog/archives/33 谢谢无网不剩的精彩解说!
欢迎朋友们来下载使用,有什么意见或建议,请回复评论,我会跟踪的。
另补上使用方法:
解压密码是:www.zouqingshui.net
使用方法:在后台tools->install sql pacthes 数据库导入工具里导入该脚本即可。
本补丁没有任何辅助文件支持。
导入补丁后,在configuration->my store 里即可以看到针对title,keywords等的设置
众所周知,zen cart有一个很好用的插件叫image handle2,它的作用就是增加图片显示对客户的友好程度。
但是这个插件也有一个缺点:因为重新生成了图片缓存,导致图片的路径被随机字符串代替了,这样图片路径里所加的关键字被替换了,要知道这样无形中降低了网 站关键字的密度,对SEO来讲是致命的。
以前SEOER一般会选择不使用image handle2这个插件,牺牲一点客户的体验度来换取排名,毕竟没有排名的话,客户根本就看不到自己的网站,那么要体验度何用呢?
但是今天,无风找到了一个解决这个冲突的办法,迫不急待地要告诉大家:
欢迎大家浏览下文《
》
换了一台电脑,试着安装一键WAMP测试平台,习惯性的在gougou.com找到了apmserv 5.2.0的下载地址:http://119.147.41.16/down?cid=961099757BD11C8FB9A75BA05CECCC57583ABF56&t=2&fmt=&usrinput=apmserv 5.2.0&dt=2002000&ps=0_0&rt=0kbs&plt=0&spd=9
下载下来之后,本来以为会很顺利,因为我已经事先将所有有可能占用80号端口的程序都关闭了。但是还是提示:“1、Apache启动失败,请检查相关配置。√MySQL5.0已启动。”
火大,第一次修改apache的端口为非80端口(81),结果还是不行。
哪里出了问题呢?我试着找错误日志(LINUX维护经验告诉我,要想知道错误在哪里,问百度不如问程序自己。
于是我在日志里找到了以下内容:
[Sat Mar 14 23:24:12 2009] [notice] Child 3240: Starting 500 worker threads.
[Sat Mar 14 23:24:12 2009] [crit] (OS 1450)系统资源不足,无法完成请求的服务。 : Child 3240: _beginthreadex failed. Unable to create all worker threads. Created 283 of the 500 threads requested with the ThreadsPerChild configuration directive.
[Sat Mar 14 23:24:13 2009] [notice] Parent: Received shutdown signal -- Shutting down the server.
不正常!在查了httpd.conf相关资料后,我知道httpd.conf有一项关于ThreadsPerChild的设置,这个是设置系统同时处理子进程的数量,如果这个设置过大,那么系统将无法为这些可能产生的子进程预先分配资源,而无法启动apache。(本例中,启动至283个时,已经没有系统资源可分配了。)
我搭的是测试环境,我不需要500那么多,那么我只要、把它改小,改成10即可(又省了不少系统资源*_*)
近期评论