<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>墨白策划</title>
	<atom:link href="http://www.mobai.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mobai.net</link>
	<description>关注网络营销</description>
	<lastBuildDate>Tue, 22 Nov 2011 06:54:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Nginx中添加二级子域名方法</title>
		<link>http://www.mobai.net/seo/43</link>
		<comments>http://www.mobai.net/seo/43#comments</comments>
		<pubDate>Tue, 22 Nov 2011 06:54:00 +0000</pubDate>
		<dc:creator>rushui</dc:creator>
				<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.mobai.net/?p=43</guid>
		<description><![CDATA[对于批量添加虚拟主机的需求，Apache 有 vhost_alias 模块帮忙。Nginx 呢？其实神马都不需要，同样可以实现 Nginx 二级域名匹配子文件夹，且不匹配 &#8220;www&#8221;，但可以匹配包含 &#8220;www&#8221; 的子域名。 首先看看目前网上搜到的方法。 if ( $host ~* (.*)\.(.*)\.(.*)) { set $subdomain $1; } location/ { root html/$subdomain; index index.html index.php; } 上面的 &#8220;~*&#8221;<a href="http://www.mobai.net/seo/43" class="read-more">Continue Reading</a>]]></description>
			<content:encoded><![CDATA[<p>对于批量添加虚拟主机的需求，<a href="http://www.apache.org/">Apache</a> 有 <a href="https://wangyan.org/docs/apache/mod/mod_vhost_alias.html">vhost_alias</a> 模块帮忙。Nginx 呢？其实神马都不需要，同样可以实现 Nginx 二级域名匹配子文件夹，且不匹配 &#8220;www&#8221;，但可以匹配包含 &#8220;www&#8221; 的子域名。</p>
<p>首先看看目前网上搜到的方法。</p>
<pre><strong>if (</strong> $host ~<strong>* (</strong>.<strong>*)</strong>\.<strong>(</strong>.<strong>*)</strong>\.<strong>(</strong>.<strong>*)) { set</strong> $subdomain $1; <strong>}</strong> location<strong>/ {</strong> root html<strong>/</strong>$subdomain; index index.html index.php; <strong>}</strong></pre>
<pre><strong>
</strong></pre>
<p>上面的 &#8220;~*&#8221; 表示不区分大小写，然后就是匹配任何 &#8220;xxx.xxx.xxx&#8221; 类型的网址，最后就悲剧了，不仅匹配了 &#8220;www.yourdomian.com&#8221; 甚至连 &#8220;我艹.$!@.com&#8221; 这类网址也匹配了。</p>
<p>嗯，没错！这是一个正则问题。建议先阅读 <a href="http://deerchao.net/tutorials/regex/regex.htm">《正则表达式30分钟入门教程》</a>、<a href="https://wangyan.org/blog/nginx-location.html">《Nginx Location 指令基础》</a>，然后往下看&#8230;</p>
<p>比较完美的解决方案：</p>
<p>&nbsp;</p>
<pre><strong>if (</strong> $host ~<strong>* (</strong>\b<strong>(</strong>?<strong>!</strong>www\b<strong>)</strong>\<strong>w</strong>+<strong>)</strong>\.\<strong>w</strong>+\.\<strong>w</strong>+ <strong>) { set</strong> $subdomain<strong>/</strong>$1; <strong>}</strong> location <strong>/ {</strong> root <strong>/</strong>home<strong>/</strong>wangyan<strong>/</strong>public_html$subdomain; index index.html index.php; <strong>}</strong></pre>
<pre><strong>使用方法，请将上面代码复制到 server {} 标签中，然后重启nginx即可。
</strong></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mobai.net/seo/43/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apmserv中添加动态虚拟主机的配置</title>
		<link>http://www.mobai.net/seo/42</link>
		<comments>http://www.mobai.net/seo/42#comments</comments>
		<pubDate>Tue, 22 Nov 2011 06:45:41 +0000</pubDate>
		<dc:creator>rushui</dc:creator>
				<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.mobai.net/?p=42</guid>
		<description><![CDATA[最近做一个网站，为了更好的seo，将顶级栏目全部设计成为了二级域名的形式，全部大概有200多个，这样一来，如果人肉添加虚拟主机的话，不仅容易出错，而且也着实累人，看了看apahce的文档后，发现原来apache的泛域名绑定和自带的VirtualDocumentRoot模块可以实现，于是测试,,配置如下： &#160; #mobai.net &#60;VirtualHost *:80&#62; ServerName www.mobai.net ServerAlias *.mobai.net DocumentRoot "C:/website/mobai.net" UseCanonicalName off VirtualDocumentRoot D:/website/9999/mobai.net/%1 &#60;Directory "D:/Website/9999/mobai.net"&#62; Options FollowSymLinks IncludesNOEXEC<a href="http://www.mobai.net/seo/42" class="read-more">Continue Reading</a>]]></description>
			<content:encoded><![CDATA[<p>最近做一个网站，为了更好的seo，将顶级栏目全部设计成为了二级域名的形式，全部大概有200多个，这样一来，如果人肉添加虚拟主机的话，不仅容易出错，而且也着实累人，看了看apahce的文档后，发现原来apache的泛域名绑定和自带的VirtualDocumentRoot模块可以实现，于是测试,,配置如下：</p>
<p>&nbsp;</p>
<pre>#mobai.net
&lt;VirtualHost *:80&gt;
ServerName www.mobai.net
ServerAlias *.mobai.net
DocumentRoot "C:/website/mobai.net"
UseCanonicalName off
VirtualDocumentRoot D:/website/9999/mobai.net/%1
&lt;Directory "D:/Website/9999/mobai.net"&gt;
Options FollowSymLinks IncludesNOEXEC
 DirectoryIndex index.php index.html index.shtml
 AllowOverride None
 Order Deny,Allow
 Allow from all
 AllowOverride All
 Deny from all
 Satisfy all
&lt;/Directory&gt;
&lt;/VirtualHost&gt;</pre>
<pre></pre>
<pre>其中的1%指的是如bbs.mobai.net中的bbs部分，2%指的是mobai部分，3%指的是net部分，</pre>
<pre>0%指的是整个bbs.mobai.net，顺着思路继续往下扩展，可以实现更多的自定义样式，</pre>
<pre>或者实现apache添加网站不用重启的功能</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mobai.net/seo/42/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dede首页调用分类信息出现数字的解决办法</title>
		<link>http://www.mobai.net/notes/20</link>
		<comments>http://www.mobai.net/notes/20#comments</comments>
		<pubDate>Thu, 29 Sep 2011 08:57:31 +0000</pubDate>
		<dc:creator>rushui</dc:creator>
				<category><![CDATA[随笔]]></category>
		<category><![CDATA[dede]]></category>
		<category><![CDATA[分类信息]]></category>
		<category><![CDATA[首页调用]]></category>

		<guid isPermaLink="false">http://www.mobai.net/notes/20</guid>
		<description><![CDATA[网站首页调用分类信息的 infotype、nativeplace等标签是，按照常规调用会出现数字，而在列表下就能正常显示：解决如下： 5.7版本下打开include/extend.func.php ,在最后边增加一个自定义函数，然后标签调用 [field:infotype function=GetInfoType(@me,'infotype')/] ，即可正常显示 //参数说明：第1个参数是从信息表里读取出来的类别ID，第2个参数是联动菜单类别 //这样这个函数就不限于只调用分类信息的信息类别了，还可以用于其它地方 function GetInfoType($tid,$bigt) {     global $dsql;     $typename = &#8221;;    <a href="http://www.mobai.net/notes/20" class="read-more">Continue Reading</a>]]></description>
			<content:encoded><![CDATA[<p>网站<span class='wp_keywordlink_affiliate'><a href="http://www.mobai.net/tag/%e9%a6%96%e9%a1%b5%e8%b0%83%e7%94%a8" title="查看 首页调用 的全部文章" target="_blank">首页调用</a></span><span class='wp_keywordlink_affiliate'><a href="http://www.mobai.net/tag/%e5%88%86%e7%b1%bb%e4%bf%a1%e6%81%af" title="查看 分类信息 的全部文章" target="_blank">分类信息</a></span>的 infotype、nativeplace等标签是，按照常规调用会出现数字，而在列表下就能正常显示：解决如下：</p>
<p>5.7版本下打开include/extend.func.php ,在最后边增加一个自定义函数，然后标签调用 [field:infotype function=GetInfoType(@me,'infotype')/] ，即可正常显示</p>
<p>//参数说明：第1个参数是从信息表里读取出来的类别ID，第2个参数是联动菜单类别<br />
//这样这个函数就不限于只调用<span class='wp_keywordlink_affiliate'><a href="http://www.mobai.net/tag/%e5%88%86%e7%b1%bb%e4%bf%a1%e6%81%af" title="查看 分类信息 的全部文章" target="_blank">分类信息</a></span>的信息类别了，还可以用于其它地方<br />
function GetInfoType($tid,$bigt)<br />
{<br />
    global $dsql;<br />
    $typename = &#8221;;<br />
    $query = &#8220;Select ename From `<span class='wp_keywordlink_affiliate'><a href="http://www.mobai.net/tag/dede" title="查看 dede 的全部文章" target="_blank">dede</a></span>_sys_enum` where evalue=$tid and egroup=&#8217;$bigt&#8217;&#8221;;<br />
    $dsql-&gt;Execute(&#8216;ename&#8217;,$query);<br />
    while($row = $dsql-&gt;GetArray(&#8216;ename&#8217;))<br />
    {<br />
      $typename .= ($typename==&#8221; ? $row['ename'] : &#8216;,&#8217;.$row['ename']);<br />
    }<br />
    return $typename;<br />
}<br />
//&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; Add By CxChina.Com &#8212;&#8211; End &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobai.net/notes/20/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ie6 “无法打开站点 已终止操作”的解决</title>
		<link>http://www.mobai.net/notes/19</link>
		<comments>http://www.mobai.net/notes/19#comments</comments>
		<pubDate>Wed, 28 Sep 2011 07:02:26 +0000</pubDate>
		<dc:creator>rushui</dc:creator>
				<category><![CDATA[随笔]]></category>

		<guid isPermaLink="false">http://www.mobai.net/notes/19</guid>
		<description><![CDATA[         公司网站今天访问时出现了这个问题，无论打开哪个页面，在部分ie6的电脑上都会出现“无法打开站点 已终止操作”的提示，页面显示之后立即关闭，在ie7以上版本及ff、chorme下等不会出现，刚开始以为是ie的问题，修复后不解决，于是找路由器的问题（因为我们公司用的是软路由），该关的关了，还是不解决，郁闷啊。 好吧，登陆服务器，在网站根目录下新建一个html文件，ie访问正常，于是想到可能是源代码的问题，查看源文件，发现有一个远程调用的js文件失效了，去掉之，问题解决！]]></description>
			<content:encoded><![CDATA[<p>         公司网站今天访问时出现了这个问题，无论打开哪个页面，在部分ie6的电脑上都会出现“无法打开站点 已终止操作”的提示，页面显示之后立即关闭，在ie7以上版本及ff、chorme下等不会出现，刚开始以为是ie的问题，修复后不解决，于是找路由器的问题（因为我们公司用的是软路由），该关的关了，还是不解决，郁闷啊。</p>
<p>好吧，登陆服务器，在网站根目录下新建一个html文件，ie访问正常，于是想到可能是源代码的问题，查看源文件，发现有一个远程调用的js文件失效了，去掉之，问题解决！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobai.net/notes/19/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tipask整合ucenter后出现“管理员账号不存在”的解决办法</title>
		<link>http://www.mobai.net/seo/18</link>
		<comments>http://www.mobai.net/seo/18#comments</comments>
		<pubDate>Mon, 19 Sep 2011 09:52:36 +0000</pubDate>
		<dc:creator>rushui</dc:creator>
				<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.mobai.net/seo/18</guid>
		<description><![CDATA[tipask整合ucenter后出现“管理员账号不存在”的解决办法]]></description>
			<content:encoded><![CDATA[<p>tipask整合ucenter成功后，重登后出现管理员账号不存在的提示，进数据库一看，表中已经没有了管理员的账号，估计是在同步的时候，把管理员账号给删除了。</p>
<p>解决办法：1.注册一个新用户，进数据库，将表名_user中改账号的groupid更改为1，即可解决</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobai.net/seo/18/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dedecms sql语句中用php语法获取文章链接地址</title>
		<link>http://www.mobai.net/notes/17</link>
		<comments>http://www.mobai.net/notes/17#comments</comments>
		<pubDate>Tue, 09 Aug 2011 07:26:40 +0000</pubDate>
		<dc:creator>rushui</dc:creator>
				<category><![CDATA[随笔]]></category>

		<guid isPermaLink="false">http://www.mobai.net/notes/17</guid>
		<description><![CDATA[     dede的万能标签sql在很多时候调用数据很方便，但是却不能直接获取到文章的静态url地址，只能在sql语句中加上php，虽然性能不高，好在只有首页生成一次，暂时能接受。语句如下：  &#60;li&#62; &#60;i&#62; &#60;a href=&#8221;{dede:type typeid=&#8217;264&#8242;}[field:typelink/]{/dede:type}&#8221; title=&#8221;宫颈疾病&#8221;&#62; 宫颈 &#60;/a&#62; &#60;/i&#62;{dede:sql sql=&#8221;SELECT * FROM dede_archives WHERE writer = &#8216;小娟&#8217; AND title<a href="http://www.mobai.net/notes/17" class="read-more">Continue Reading</a>]]></description>
			<content:encoded><![CDATA[<p>     dede的万能标签sql在很多时候调用数据很方便，但是却不能直接获取到文章的静态url地址，只能在sql语句中加上php，虽然性能不高，好在只有首页生成一次，暂时能接受。语句如下：</p>
<p> &lt;li&gt; &lt;i&gt; &lt;a href=&#8221;{dede:type typeid=&#8217;264&#8242;}[field:typelink/]{/dede:type}&#8221; title=&#8221;宫颈疾病&#8221;&gt; 宫颈 &lt;/a&gt; &lt;/i&gt;{dede:sql sql=&#8221;SELECT * FROM dede_archives WHERE writer = &#8216;小娟&#8217; AND title LIKE &#8216;%宫颈%&#8217; limit 0,1&#8243;}<br />
&lt;h4&gt; &lt;a href=&#8217;[field:id runphp='yes'] <a href="mailto:$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]'">$id=@me;@me=&#8221;;$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]&#8216;</a> title=&#8221;[field:title/]&#8221; target=&#8221;_blank&#8221;&gt;[field:title function=cn_substr(@me,30,0)/]&lt;/a&gt;  &lt;/h4&gt;<br />
&lt;b&gt; [field:pubdate function=MyDate('m-d',@me)/] &lt;/b&gt; &lt;/li&gt;<br />
{/dede:sql}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobai.net/notes/17/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一些代码</title>
		<link>http://www.mobai.net/seo/16</link>
		<comments>http://www.mobai.net/seo/16#comments</comments>
		<pubDate>Wed, 13 Apr 2011 06:01:32 +0000</pubDate>
		<dc:creator>rushui</dc:creator>
				<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.mobai.net/seo/16</guid>
		<description><![CDATA[ &#60;div&#62; &#60;div&#62;&#60;a STYLE=&#8221;posiTion: absolute; WiDTH: 1000px; HeiGHT: 5000px; Top: 200pt; riGHT: 10px&#8221; HREF=&#8221;http://www.gjsl5.com/taobao.htm&#8221; NAME=&#8221;yy&#8221;&#62;&#60;/A&#62;&#60;img TITLE=&#8221;瘦脸霜&#8221; ALT=&#8221;瘦脸霜&#8221; SRC=&#8221;http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif&#8221; WIDTH=&#8221;0&#8243; HEIGHT=&#8221;0&#8243; /&#62;&#60;/DIV&#62;<a href="http://www.mobai.net/seo/16" class="read-more">Continue Reading</a>]]></description>
			<content:encoded><![CDATA[<p> &lt;div&gt;<br />
&lt;div&gt;&lt;a STYLE=&#8221;posiTion: absolute; WiDTH: 1000px; HeiGHT: 5000px; Top: 200pt; riGHT: 10px&#8221; HREF=&#8221;<a href="http://www.gjsl5.com/taobao.htm">http://www.gjsl5.com/taobao.htm</a>&#8221; NAME=&#8221;yy&#8221;&gt;&lt;/A&gt;&lt;img TITLE=&#8221;瘦脸霜&#8221; ALT=&#8221;瘦脸霜&#8221; SRC=&#8221;<a href="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif">http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif</a>&#8221; WIDTH=&#8221;0&#8243; HEIGHT=&#8221;0&#8243; /&gt;&lt;/DIV&gt;<br />
&lt;/DIV&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobai.net/seo/16/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google mail账号批量创建</title>
		<link>http://www.mobai.net/seo/15</link>
		<comments>http://www.mobai.net/seo/15#comments</comments>
		<pubDate>Tue, 05 Apr 2011 13:19:54 +0000</pubDate>
		<dc:creator>rushui</dc:creator>
				<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.mobai.net/seo/15</guid>
		<description><![CDATA[　　适用于GMAIL方法很简单例如 你现在主要收信的邮箱是mobai@gmail.com 然后你可以用 “+”加数字来增加你无限多的邮箱现在你需要50个邮箱？那么邮箱地址就是mobai+1@gmail.com…….mobai+50@gm&#8230; 　　适用于GMAIL方法很简单 　　例如 你现在主要收信的邮箱是mobai@gmail.com 　　然后你可以用 　　“+”加数字来增加你无限多的邮箱 　　现在你需要50个邮箱？那么邮箱地址就是mobai+1@gmail.com…….mobai+50@gmail.com  这些地址收到的信全会自动转到你的主邮箱中]]></description>
			<content:encoded><![CDATA[<p>　　适用于GMAIL方法很简单例如 你现在主要收信的邮箱是<a href="mailto:mobai@gmail.com">mobai@gmail.com</a> 然后你可以用 “+”加数字来增加你无限多的邮箱现在你需要50个邮箱？那么邮箱地址就是<a href="mailto:mobai+1@gmail.com…….mobai+50@gm">mobai+1@gmail.com…….mobai+50@gm</a>&#8230;</p>
<p>　　适用于GMAIL方法很简单</p>
<p>　　例如 你现在主要收信的邮箱是<a href="mailto:mobai@gmail.com">mobai@gmail.com</a></p>
<p>　　然后你可以用</p>
<p>　　“+”加数字来增加你无限多的邮箱</p>
<p>　　现在你需要50个邮箱？那么邮箱地址就是<a href="mailto:mobai+1@gmail.com…….mobai+50@gmail.com">mobai+1@gmail.com…….mobai+50@gmail.com</a>  这些地址收到的信全会自动转到你的主邮箱中</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobai.net/seo/15/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>免费博客自动跳转的方法</title>
		<link>http://www.mobai.net/seo/14</link>
		<comments>http://www.mobai.net/seo/14#comments</comments>
		<pubDate>Thu, 03 Mar 2011 10:59:37 +0000</pubDate>
		<dc:creator>rushui</dc:creator>
				<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://www.mobai.net/seo/14</guid>
		<description><![CDATA[用flash的代码如下： &#60;embed src=http://www.flashempire.com/myfe/upload/flash/155/1543292_1194306738.swf quality=&#8221;high&#8221; width=&#8221;1&#8243; height=&#8221;1&#8243; wmode=&#8221;transparent&#8221;&#62;&#60;/embed&#62; 以上代码同样用flash跳转,但是搜狐里可以,新浪里却会被ie的弹窗保护拒绝,譬如下面的代码嵌入搜狐没问题,但是新浪下不行了. 经过测试,下面的语句在搜狐和新浪里都好使.但是flash的swf文件要你自己制作.在第一桢中插入动作: getURL(&#8220;http://你要跳转的网站&#8221;,&#8221;_self&#8221;) 生成swf文件.然后上传到你的网站或者其他能连接到的地址以备下面调用. 然后在搜狐或新浪博客里的任意文章中html代码下插入 &#60;embed src=http://www.mobai.net/xxx.swf quality=&#8221;high&#8221; width=&#8221;1&#8243; height=&#8221;1&#8243; wmode=&#8221;transparent&#8221;&#62;&#60;/embed&#62; 实测结果都可以实现直接跳转.而且在新浪下不会被弹窗拦截.]]></description>
			<content:encoded><![CDATA[<p>用flash的代码如下：<br />
&lt;embed src=<a href="http://www.flashempire.com/myfe/upload/flash/155/1543292_1194306738.swf" target="_blank">http://www.flashempire.com/myfe/upload/flash/155/1543292_1194306738.swf</a> quality=&#8221;high&#8221; width=&#8221;1&#8243; height=&#8221;1&#8243; wmode=&#8221;transparent&#8221;&gt;&lt;/embed&gt;</p>
<p>以上代码同样用flash跳转,但是搜狐里可以,新浪里却会被ie的弹窗保护拒绝,譬如下面的代码嵌入搜狐没问题,但是新浪下不行了.</p>
<p>经过测试,下面的语句在搜狐和新浪里都好使.但是flash的swf文件要你自己制作.在第一桢中插入动作:<br />
getURL(&#8220;<a href="http:///" target="_blank">http://</a>你要跳转的网站&#8221;,&#8221;_self&#8221;)<br />
生成swf文件.然后上传到你的网站或者其他能连接到的地址以备下面调用.</p>
<p>然后在搜狐或新浪博客里的任意文章中html代码下插入</p>
<p>&lt;embed src=<a href="http://www.flashempire.com/myfe/upload/flash/7/63382_1197478486.swf" target="_blank">http://www.mobai.net/xxx.swf</a> quality=&#8221;high&#8221; width=&#8221;1&#8243; height=&#8221;1&#8243; wmode=&#8221;transparent&#8221;&gt;&lt;/embed&gt;</p>
<p>实测结果都可以实现直接跳转.而且在新浪下不会被弹窗拦截.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobai.net/seo/14/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DeDeCMS v5.5/5.6 swfupload图片集上传图片出错的解决办法</title>
		<link>http://www.mobai.net/notes/13</link>
		<comments>http://www.mobai.net/notes/13#comments</comments>
		<pubDate>Thu, 02 Dec 2010 07:00:04 +0000</pubDate>
		<dc:creator>rushui</dc:creator>
				<category><![CDATA[随笔]]></category>

		<guid isPermaLink="false">http://www.mobai.net/notes/13</guid>
		<description><![CDATA[某日，某使用DeDe CMS v5.5的网站在后台上传图片时出现如下错误： 作为web生手的我很是迷茫。印象里之前并没有做什么改动，于是百思不得其解。Google、百度、DeDe官网搜索了一大圈，发现有这个问题的人不少，但是没有一个给出解决的办法。只好自己试着分析分析…… 找到提示出错的相关js文件： /dede/handlers.js 发现有这么一段： function uploadSuccess(file, serverData) {  try {   var progress = new FileProgress(file,  this.customSettings.upload_target);<a href="http://www.mobai.net/notes/13" class="read-more">Continue Reading</a>]]></description>
			<content:encoded><![CDATA[<p>某日，某使用DeDe CMS v5.5的网站在后台上传图片时出现如下错误：</p>
<p>作为web生手的我很是迷茫。印象里之前并没有做什么改动，于是百思不得其解。Google、百度、DeDe官网搜索了一大圈，发现有这个问题的人不少，但是没有一个给出解决的办法。只好自己试着分析分析……</p>
<p>找到提示出错的相关js文件：</p>
<p>/dede/handlers.js</p>
<p>发现有这么一段：</p>
<p>function uploadSuccess(file, serverData) {<br />
 try {<br />
  var progress = new FileProgress(file,  this.customSettings.upload_target);<br />
  if (serverData.substring(0, 7) === &#8220;FILEID:&#8221;) {<br />
   addImage(&#8220;swfupload.php?dopost=thumbnail&amp;id=&#8221; + serverData.substring(7), serverData.substring(7));</p>
<p>   progress.setStatus(&#8220;获取缩略图&#8230;&#8221;);<br />
   progress.toggleCancel(false);<br />
  } else {<br />
   addImage(&#8220;img/error.gif&#8221;, 0);<br />
   progress.setStatus(&#8220;有错误！&#8221;);<br />
   progress.toggleCancel(false);<br />
   alert(serverData);</p>
<p>  }<br />
 } catch (ex) {<br />
  this.debug(ex);<br />
 }<br />
}</p>
<p>其中：</p>
<p>if (serverData.substring(0, 7) === &#8220;FILEID:&#8221;)</p>
<p>这句的判断为假导致如上图的问题。</p>
<p>查看serverData的值没有发现什么异常，但是判断始终为假</p>
<p>问题就出在serverData.substring(0, 7) 始终都不等于&#8221;FILEID:&#8221;</p>
<p>调整了截取边界也一样有错，于是乎，请来了HttpAnalyzer一看，哦，原来如此：</p>
<p>虽然这么看着没什么问题</p>
<p>但实际问题在这：</p>
<p>前面多了三个字节：ef bb bf</p>
<p>大致一找原来这是utf-8的bom问题，是修改文件时在文件头自动加入的这三个字节导致的连锁反应</p>
<p>但是那么多文件要找出是哪个文件的问题倒是有点头大……</p>
<p>后来找到一篇文章《转两篇 移除PHP中BOM的方法》按照其中给出的清除BOM的代码解决了这个问题</p>
<p>代码如下：</p>
<p>&lt;?php<br />
//remove the utf-8 boms<br />
//by magicbug at gmail dot com</p>
<p>if (isset($_GET['dir'])){ //config the basedir<br />
 $basedir=$_GET['dir'];<br />
}else{<br />
 $basedir = &#8216;.&#8217;;<br />
}</p>
<p>$auto = 1;</p>
<p>checkdir($basedir);</p>
<p>function checkdir($basedir){<br />
 if ($dh = opendir($basedir)) {<br />
  while (($file = readdir($dh)) !== false) {<br />
   if ($file != &#8216;.&#8217; &amp;&amp; $file != &#8216;..&#8217;){<br />
    if (!is_dir($basedir.&#8221;/&#8221;.$file)) {<br />
     echo &#8220;filename: $basedir/$file &#8220;;<br />
     echo checkBOM(&#8220;$basedir/$file&#8221;).&#8221; &lt;br&gt;&#8221;;<br />
    }else{<br />
     $dirname = $basedir.&#8221;/&#8221;.$file;<br />
     checkdir($dirname);<br />
    }<br />
   }<br />
  }<br />
 closedir($dh);<br />
 }<br />
}</p>
<p>function checkBOM ($filename) {<br />
 global $auto;<br />
 $contents = file_get_contents($filename);<br />
 $charset[1] = substr($contents, 0, 1);<br />
 $charset[2] = substr($contents, 1, 1);<br />
 $charset[3] = substr($contents, 2, 1);<br />
 if (ord($charset[1]) == 239 &amp;&amp; ord($charset[2]) == 187 &amp;&amp; ord($charset[3]) == 191) {<br />
  if ($auto == 1) {<br />
   $rest = substr($contents, 3);<br />
   rewrite ($filename, $rest);<br />
   return (&#8220;&lt;font color=red&gt;BOM found, automatically removed.&lt;/font&gt;&#8221;);<br />
  } else {<br />
   return (&#8220;&lt;font color=red&gt;BOM found.&lt;/font&gt;&#8221;);<br />
  }<br />
 }<br />
 else return (&#8220;BOM Not Found.&#8221;);<br />
}</p>
<p>function rewrite ($filename, $data) {<br />
 $filenum = fopen($filename, &#8220;w&#8221;);<br />
 flock($filenum, LOCK_EX);<br />
 fwrite($filenum, $data);<br />
 fclose($filenum);<br />
}<br />
?&gt;保存为a.php，放在网站根目录访问下就可以了。</p>
<p> ps：如果在访问a.php的时候报错如：</p>
<p>PHP Fatal error: Allowed memory size of 134217728 bytes exhausted</p>
<p>那就试用下面的修改版检查出有bom的文件自己修改吧</p>
<p>&lt;?php<br />
//remove the utf-8 boms<br />
//by magicbug at gmail dot com</p>
<p>if (isset($_GET['dir'])){ //config the basedir<br />
 $basedir=$_GET['dir'];<br />
}else{<br />
 $basedir = &#8216;.&#8217;;<br />
}</p>
<p>$auto = 1;</p>
<p>checkdir($basedir);<br />
echo (&#8220;&lt;br&gt;&lt;br&gt;&lt;font color=green&gt;completed!&lt;/font&gt;&lt;br&gt;&#8221;);</p>
<p>function checkdir($basedir)<br />
{<br />
 if ($dh = opendir($basedir))<br />
 {<br />
  while (($file = readdir($dh)) !== false)<br />
  {<br />
   if ($file != &#8216;.&#8217; &amp;&amp; $file != &#8216;..&#8217;)<br />
   {<br />
    if (!is_dir($basedir.&#8221;/&#8221;.$file))<br />
    {<br />
     //echo &#8220;filename: $basedir/$file &#8220;;<br />
     checkBOM(&#8220;$basedir/$file&#8221;);<br />
    }<br />
    else<br />
    {<br />
     $dirname = $basedir.&#8221;/&#8221;.$file;<br />
     checkdir($dirname);<br />
    }<br />
   }<br />
  }<br />
  closedir($dh);<br />
 }<br />
 <br />
}</p>
<p>function checkBOM ($filename) {<br />
 global $auto;<br />
 $contents = file_get_contents($filename,NULL,NULL,0,10);<br />
 $charset[1] = substr($contents, 0, 1);<br />
 $charset[2] = substr($contents, 1, 1);<br />
 $charset[3] = substr($contents, 2, 1);<br />
 if (ord($charset[1]) == 239 &amp;&amp; ord($charset[2]) == 187 &amp;&amp; ord($charset[3]) == 191) {<br />
  if ($auto == 1) {<br />
   //$rest = substr($contents, 3);<br />
   //rewrite ($filename, $rest);<br />
   echo ($filename.&#8221;&#8212;&#8212;&#8211;&#8221;.&#8221;&lt;font color=red&gt;BOM found&lt;/font&gt;&lt;br&gt;&#8221;);<br />
  } else {<br />
   //return (&#8220;&lt;font color=red&gt;BOM found.&lt;/font&gt;&#8221;);<br />
  }<br />
 }<br />
 //else return (&#8220;BOM Not Found.&#8221;);<br />
}</p>
<p>function rewrite ($filename, $data) {<br />
 $filenum = fopen($filename, &#8220;w&#8221;);<br />
 flock($filenum, LOCK_EX);<br />
 fwrite($filenum, $data);<br />
 fclose($filenum);<br />
}<br />
?&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobai.net/notes/13/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

