APMServ在64位win8win10启动失败

        不建议初学者直接在空间调试及做模版,建议Apache服务平台先安装 APMServ 5.2.0 这款软件,等熟悉了在实战操作。本地安装Dedecms先安装这款软件,构建虚拟服务器环境。本地安装dedecms可以参考如何安装dedecms织梦详解

       由于兼容性很好,在winxp、win7 32位64位、win8 64位等平台均可运行,更新至win10系统之后,但有时在启用APMServ时,经常会弹出启动失败,网上也有很多使用教程和排故方法。这里只说明win8 64位会遇到的问题

win8 64位系统无法运行Apache解决办法

       一定要用管理员身份运行。顺便说明,很多在win7能运行的软件,如果在win8 64位不能正常运行,都可采用这样的方法解决。

win8环境直接双击打开APMserv,会提示Apache和MySQL启动失败。

右键以管理员身份运行或管理员取得所有权

APMserv启动正常

win10 64位系统无法启动Apache解决办法

       这是win10自动更新后造成的,重复win8系统解决办法类似的方法无果,可以参考以下方法找到占用的80端口进程。

       运行netstat -aon | findstr :80,找到pid是4的进程占用80端口,用任务管理器是关不掉的,只能修改注册表。

       运行regedit,打开找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP,在右边找到Start选项,改为0。重启系统后即可。

 

WordPress主题调用版权信息和备案信息

       WordPress的系统设置里面有“ICP备案号”,但仅对WordPress自带主题有效,那么大家使用第三方WordPress主题的实在是太多了,因此不能享受到 WordPress 这个新添加的小功能实在是让人窝火。不过好在你只需要在自己所用的主题的footer.php中添加一行代码,即可让在WordPress 后台添加的ICP备案号显示出来了。

<a href="http://www.miitbeian.gov.cn/" rel="external nofollow" target="_blank">
<?php echo get_option( 'zh_cn_l10n_icp_num' );?>
</a>

       一般备案信息需要带工信部的链接,只要如上用nofollow就行了,如果你不希望链接到工信部网站,只添加下面的代码即可

<?php echo get_option( 'zh_cn_l10n_icp_num' );?>

版权信息,目前没有提供修改方案,找到对应的底部模板,看得到版权信息,可自行修改为自己的即可

<a href="<?php echo esc_url( __( 'https://wordpress.org/', 'twentyseventeen' ) ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentyseventeen' ), 'WordPress' ); ?></a>

 

谷歌浏览器Chrome不缓存文件禁用方法

        谷歌Chrome浏览器是WEB开发是使用得较多的,特别是JS单步调试、CSS样式调试等运用最多,但谷歌浏览器为了第二次访问速度得到提升,默认缓存了JS、CSS、img等文件。我们对这些文件做了修改,需要清除浏览器缓存才能看到效果,这样非常麻烦。下面是设置谷歌浏览器不保存缓存文件,提高WEB开发的效率。

        按下F12,或者在网页显示区右键”检查(N)”,激活控制台界面;

        再按下F1,或者点击右上角的符号,如图

       继续点击”Settings”

       找到在”Preferences”找到”Network”,勾选”Disable cache (while DevTools is open)”,即是当打开调试器是不缓存文件。

 

DedeCMS调用友情链接数量限制

做SEO用DedeCMS还是比较多的,笔者也是忠实粉丝,因为确实在基础优化上做得比较好。一般认为在关键词排名在前20左右再考虑交换友情链接,百度和其他搜索引擎类似,前期不管用多少高权重的网站来带,如果本身的质量就不好,也不会给予那么好的排名。

网站的友情链接归为外链,建议大家友情链接的数量超过30个,新站最好维持在20个左右。带文字的链接又称为锚文本链接,新手可能会对这些概念比较模糊。

DedeCMS官方的调用比较复杂,个人认为也没什么必要分类那么复杂,在友情链接常见的调用方法:

<p class="flink">
 <ul>
  {dede:flink/}
 </ul>
</p>

        v5.7 sp2版本默认的只有24个,不能满足多数量的需求,下面介绍调用方法:

<p class="flink">
 <ul>
  {dede:flink row='30' type='text' titlelen="20"}
  [field:link /]
  {/dede:flink}
 </ul>
</p>

比较灵活,不需要修改文件。网上还有修改文件的方法,也分享给大家。

在织梦文件夹中找到文件 /include/taglib/flink.lib,找到

$attlist="type|textall,row|24,titlelen|24,linktype|1,typeid|0";

说明:

type:链接类型
row:链接数量
titlelen:站点文字的长度
linktype:链接位置内页
typeid:所有类型,可以在系统后台[模块]-[友情链接]中的“网站类型管理”中查看

默认的调用数量是24个,字符长度是24位,根据实际需要修改即可。用下面调用就行了

{dede:flink/}

友情链接、锚文本知识

站内锚文本链接

百度蜘蛛对一个页面如首页上的所有链接都会分配权重(百度官方没有权重的说法),就像100分分给页面上所有的链接,链接数越多,每个链接得到的分数越少。

相同的道理,如果有一篇文章想重点推荐,提高该文章在搜索引擎上的排名表现,就可以让文章的锚文本链接尽可能多的展示在网站上。

站外锚文本链接

也就是大家常说的外链,在站外写文章,带了指向你的网站的文字性链接,这些链接最好不都指向首页,文章内容最好是与主关键词相关的。

DedeCMS文章编辑不更新时间1970年1月1日

       在修改文章或者后期优化的时候,织梦dedecms5.7版本存在一个问题,修改文章的同时也修改了文章的发布时间,这个功能可能有些人比较需要,但同时也有些站长朋友又不需要,因为我们编辑某个文章的时候,发现编辑之后网站的排序都变了。所以上网查了一下资料,也总结了一套修改文章不更新时间的方法:

       下面给出修改dedecms5.7修改文章内容的同时不修改发表日期时间的方法:

打开: /dede/templets/article_edit.htm

365行左右:

$nowtime = GetDateTimeMk(time());

改成:

$nowtime = GetDateTimeMk($arcRow["pubdate"]); 

       修改后,发现前台调用的格式如果采用类似

11-20 样式

[field:pubdate function='strftime("%m-%d",@me)'/]

May 15, 2009 样式

[field:pubdate function='strftime("%b %d, %Y",@me)'/]

       就会出现1970年1月1日的问题,其实没有那么复杂,前台首页或者列表页,调用的时候只要使用

2009-12-27 18:30:02 样式

[field:pubdate function="GetDateTimeMK(@me)"/]

2009-12-27 样式

[field:pubdate function="GetDateMK(@me)"/],

IIS7.5安装配置urlrewrite伪静态DedeCMS

       DedeCMS设置为静态页面,能减轻服务器压力,对于更新内容不是很多的企业站还是非常好的,也利于搜索引擎蜘蛛抓取,缺点是每次需要手动更新,对于内容较多、分页较多的小说站、图片站就非常麻烦。

       一般的服务器都可以采用动态页面,为了更好的获得搜索引擎喜爱,可以采用全站URL伪静态的办法。Apache环境参考文章《DedeCMS实现全站PHP伪静态》,笔者对IIS环境并不熟悉,找了一个小白教程分享给大家。

IIS服务器上安装urlrewrite模块

链接:http://pan.baidu.com/s/1b7lkHw 密码:d74v

安装过程很简单就不一一描述了。安装后可以看到”URL重写”

       在左侧找到需要重写的网站,单击该网站后,双击中间的“URL重写”。

       在弹出的窗口,选择右侧的“入站规则”下的“导入规则”,由于笔者已经导入过了,中间有显示,默认是空的。

       选择导入Apache配置 .htaccess 文件,适合像笔者对IIS环境不熟悉,对Apache熟悉的用户,当然你熟悉的正则表达式的话,就自己“添加规则”吧。就不一一介绍了,上面的下载地址有DedeCMS通用的伪静态规则,可以根据实际需要修改。

DedeCMS伪静态配置

       相关阅读《DedeCMS实现全站PHP伪静态》,注意规则上有些改动

文章、列表伪静态(/view-1.html、/list-1/)

       打开/include/helpers/channelunit.helper.php

//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
}

       替换为

//动态文章
if($cfg_rewrite == 'Y')
{
return "/view-".$aid.'.html';
}

       意思是:将默认的 /plus/view-1-1.html 文章链接格式改为 /view-1.html。继续查找

//动态
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;

       替换为

//动态
$reurl = "/list-".$typeid."/";

      列表采用 /list-1/ 代表是目录,如果是/list-1.html代表是一个页面,权重更高。

列表分页伪静态(/list-1-2/)

        打开/include/arc.listview.class.php,找到

/**
 *  获取动态的分页列表
 *

       往下找到

$plist = str_replace('.php?tid=', '-', $plist);
$plist = str_replace('&TotalResult=', '-', $plist);
$plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist);

        修改

$plist = str_replace('/plus', '', $plist); 
$plist = str_replace('.php?tid=', '-', $plist);
$plist = str_replace('&TotalResult=', '-', $plist);
$plist = preg_replace("/&PageNo=(\d+)/i",'-\\1.html',$plist);
$plist = str_replace('.html','/' ,$plist); //by7

       如果不做处理的话,列表页的首页会有两个URL(/list-1/和/list-1-1/),这会分散权重,下面取消第一页分页修改方法。共有两处修改,找到

//获得上一页和下一页的链接
if($this->PageNo != 1)
{
 $prepage.="<a href='".$purl."PageNo=$prepagenum'><</a>";
 $indexpage="<a href='".$purl."PageNo=1'>首页</a>";
}
else
{
 $indexpage="<span>首页</span>";
}

       修改为

//获得上一页和下一页的链接 by7
$typedir= $GLOBALS['cfg_basehost'] . "/list-".$this->TypeID; 
if($this->PageNo != 1)
{
if($prepagenum==1)
{
$prepage.="<a href=\"".$typedir."/\"><</a>";
}
else
{
$prepage.="<a href='".$purl."PageNo=$prepagenum'><</a>";
}
$indexpage="<a href=\"".$typedir."\">首页</a>";
}
//by7

       往下找到

$listdd.="<a href='".$purl."PageNo=$j'>".$j."</a>";

       修改为

//by7
if($j==1)
{
$listdd.="<a href=\"".$typedir."/\">".$j."</a>";
}
else
{
$listdd.="<a href='".$purl."PageNo=$j'>".$j."</a>"; 
}
//by7

文章分页伪静态(/view-1-2.html)

       打开/include/arc.archives.class.php,找到

/**
  *  获得动态页面分页列表
  *

       继续往下找到

$PageList = preg_replace("#.php\?aid=(\d+)#i", '-\\1-1.html', $PageList);

修改为

$PageList = preg_replace("#.php\?aid=(\d+)#i", '-\\1.html', $PageList);

安装phpstudy,APMServ启动服务提示80端口被占用

        之前IIS服务器安装过Apache、php、mysql环境,但后期想用集成开发环境phpstudy的,安装完phpstudy后,启动服务时,总是显示80端口被占用,秀站网为大家总结两种解决办法。

方法一、修改注册表

        因为Apache当时安装时服务是自动开启的,每次开机都会显示Apache服务已经启动,需要手动退出Apache。

        在命令行输入netstat -aon可以查看80端口是被谁占用了。发现是被系统占用了,关闭不了。

1、打开运行输入,regedit 也就是打开笔记本的注册表

2、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP

3、在右边找到Start这一项,将其改为0

4、重启系统,System进程不会占用80端口,也可通过netstat -aon查看,发现80端口确实已经不被占用了

5、最后一步,重启之后,再启动phpstudy就可以了。

方法二、修改端口常规设置

        phpstudy中可以修改Apache端口的地方是哪些,其中有三个地方可以直接修改Apache网站监听的端口。

1、phpstudy设置 -> 端口常规设置;

2、站点域名管理;

3、Apache目录 -> conf文件夹 -> httpd.conf文件。

        值得注意的是,只修改httpd.conf文件是不起作用的,必须修改其他两处中的一处,端口才能正确设置。打开方式如下图

        在端口常规设置中,http端口可以修改为8080端口,点击应用就好。

        回到启动界面,再次点击启动是不是成功了呢。

phpstudy开启Apache的Gzip压缩修正

Gzip是GNUzip的缩写,这个在站长工具或百度站长都有这个数据的评判,究竟有什么好处?

当服务器启用Gzip压缩功能之后,用户访问网站上是,服务器会对网页内容进行压缩,最终展示到用户的浏览器。可以压缩到70%甚至更高。

在IIS服务器里面用phpstudy搭建PHP、SQL、Apache方便快捷,但一些高级的设置,就没有服务器默认的IIS管理直观。比如Gzip的设置,下面笔者整理了phpstudy开启Gzip压缩功能。

建议大家不要再百度经验、知道等复制代码,许多平台对空格、回车的处理有问题,特别是用记事本修改,如果有多余的空格或回车,修改后直接提示503错误。

打开phpstudy集成环境操作面板 -> 其他选项菜单 -> 打开配置文件 -> httpd-conf

点击后一般是用的记事本打开,找到下面两个模块,两句代码不在同一行。

#LoadModule deflate_module modules/mod_deflate.so

#LoadModule headers_module modules/mod_headers.so

删除前面的“#”。在页面的最下面增加

<IfModule deflate_module>
SetOutputFilter DEFLATE
</IfModule>

保存,重启一下phpstudy,再用站长工具查看是不是已经提示开启了Gzip了。

如果觉得压缩比不够,可以调整,也不知道为什么大家建议只压缩.php、.txt、.html、.css、.js文件,而不把图片压缩呢?其实比较影响速度的是图片,不管怎么样,先看看其他设置怎么设置。

<IfModule deflate_module>
#必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩
SetOutputFilter DEFLATE

#压缩级别,1-9,9为最高
DeflateCompressionLevel 9

#不进行压缩的文件
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
#设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
#同上,就是设置不对exe,tgz,gz。。。的文件进行压缩
SetEnvIfNoCase Request_URI \.(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary

#针对代理服务器的设置
Header append vary User-Agent
</IfModule>

linux可以试一下《万网虚拟主机开启gzip压缩》的方法。如果觉得图片打开速度太慢,就参考《七牛云空间防盗链设置防止采集流量攻击》,总之把页面打开速度控制在2秒左右,用户看着不累,搜索引擎会加权。

用APMServ在本地环境搭建多个网站

        网站建设中,除了PhpStudy还有APMServ等优秀的本地服务器搭建软件。使用方法比较简单,小白级别的也能快速掌握,是网站建设、SEO初学者”必备良药”。这两款软件不只是运行在本地,也能完美运行在IIS服务器,一个安装包搞定。

        PhpStudy和APMServ都能在本地建多个虚拟机,以满足多个网站的运行的需要,以APMServ为例介绍一下。先看看主要说明:

①APMServ程序所在路径不能含有汉字和空格。
②MySQL默认用户名:root,密码为空。(有些CMS在安装的时候不能让MySQL密码为空,自行添加即可)
③MySQL数据库文件存放目录:MySQL5.1\data或MySQL4.0\data
④网站根目录[HTML,PHP]www\htdocs [ASP]www\asp [CGI,Perl]www\cgi-bin
⑤访问本机请用http://127.0.0.1/或https://127.0.0.1/ (如果开启SSL)
⑥非默认端口,网址为http://127.0.0.1:端口/或https://127.0.0.1:端口/
⑦如果在“扩展功能”中选择使用Memcached,它的端口为:11211 

        了解的主要目录结构和程序之后就可以着手搭建网站了。软件请自行下载,版本好像没有更新,不过哪个版本都类似。

APMServ配置

        软件界面非常简单,不只是运行在2000/XP/2003,最新的Win10也可以,但是运行的时候一定要点击右键”用管理员身份运行”。《APMServ在64位win8win10启动失败》。

        打开的时候状态都是√Apache已启动。√MySQL5.1已启动。如上图,但是并不能立即使用,还需要安装的。点击”停止APMServ”,再点击”启动APMServ”,这个时候一般第一次安装相关服务器配置软件的同学能正常安装,但是使用过类似的软件的就会提示如下。

        这种情况一般是80端口被占用,解决办法阅读《安装phpstudy,apmServ启动服务提示80端口被占用》。

建立第一个网站

        在安装APMServ的目录下有一个www文件夹,建一个新文件夹如:demo。

        依次点击

Apache设置 -> 虚拟主机管理

        弹出来的窗口按照下面步骤:

填写虚拟主机域名 -> 网页文件根目录(可以点击后面的省略号) -> 保存此虚拟主机 -> 重启Apache使设置生效 ->退出

        回到软件主界面,点击”修改host文件”,秀站网觉得这个修改方法有点”二”,不过作者还是写了说明,照着改就是了。

        默认的就行了。刚才新建的文件夹是demo,填写如下,保存退出即可。

127.0.0.1 localhost demo

        在浏览器输入以下路径访问即可。

http://demo/

 

CSS去除display:inline-block的间距

很久没有写WEB前端的知识了,一个能力强的SEOer应该了解基本的WEB前端知识,一些简单的HTML代码是经常遇到的,细胞级代码优化才是一劳永逸的SEO方案。跟着秀站网学习快速建站,掌握骨灰级极简代码,让你的网站“飞”起来。

现在做网站基本上都是自适应了,秀站网也推荐大家用这种布局,不仅不会造成页面变复杂,反而能减少好多工作量。因为你写一套模板就行了,PC端移动端通过CSS自适应。

比如多个块级元素横向排列时会用float浮动布局,想实现这些元素居中就比较麻烦了,这里介绍display的用法。

display有三种属性:inline、block、inline-block

inline和block分别是把块级元素变成行内元素,行内元素变成块级元素;而inline-block是结合了块级元素和行内元素的一些特点。块级元素会占用一行,想实现块级元素横向布局,一般用浮动或者用display:inline属性。

行内元素有很多局限性,不能使用width、height、margin等,想使用的话就可以用display:inline-block。大家会发现此时块级元素之间会有4个像素的间隙,去掉这个间隙需要在父级元素增加font-size:0,兼容所有浏览器,举例:

<p class="father">
    <p class="son"></p>
    <p class="son"></p>
    <p class="son"></p>
</p>
<style>
.father{font-size:0}
.son{display:inline-block;padding:0 3px;margin:0 3px;font-size:14px;}
</style>

ie6/ie7要处理一下

行内元素直接使用{dislplay:inline-block;}
块级元素:需添加{display:inline;zoom:1;}

一般文字图片混排用inline-block,如果页面整体布局就用float,用伪类after、before清除浮动即可,如

<p class="father clear">
    <p class="son"></p>
    <p class="son"></p>
    <p class="son"></p>
</p>
<style>
.son{float:left}
.clear:after{clear:both}
</style>