比尔盖子 博客

Tag: .htaccess

终于解决了论坛Archiver出现404错误的问题

大家都知道,Discuz的Archiver功能可以让看帖时页面更简洁,对搜索引擎更友好。

但是,站长论坛的Archiver却一直有个问题:

这样的页面会显示404错误
http://bbs.biergaizi.com/archiver/fid-4.html

但是如果把网址改成
http://bbs.biergaizi.com/archiver/?fid-4.html

就可以显示了,真是神奇的问号。

为此,我的Google管理员工具一直提示有死链接,收到N个警告信息。

今天在搜索引擎上不停的搜索,发现这个帖子:
http://www.discuz.net/thread-920400-1-1.html

便按照“下砂”的方法把

RewriteRule ^archiver/([a-z0-9\-]+\.html)$ archiver/index.php?$1

修改为

RewriteRule ^archiver/((fid|tid)-[\w\-]+\.html)$ archiver/index.php?$1


刚才测试一下,果然正常了,估计我的网站权重就要提上去了!

升级了Dedecms和WordPress;启用伪静态;优化网站

前几天,大家有没有发现http://biergaizi.com/的网页换了一个很清爽的模板,这是因为,我的主站从Dedecms V5.5升级到了V5.6,这主要是优化了会员功能,不过目前根本没什么会员,那些会员功能也就用处不大了。

而且,目前还出现了一个奇怪的问题,就是文章的说明和标题非常不整齐,像这样:

不知是不是模板有点小问题,还是因为旧文章和新文章的解析模板不相同所致,那就慢慢找原因吧!

今天又把Wordpress搬到了Godaddy的空间上,因为之前站长一直使用免费空间建站,好不容易找到一个稳定的,但是功能限制诸多,比如不支持外部链接。

所以我把博客放上去,一边在网站出现问题时仍能写博文。

但是现在我已经有稳定的空间了,我可不想忍受免费空间功能限制的折磨,因此我现在把博客签到Godaddy上面。

刚调试好,Wordpress就提示我“有新版本,是否升级?”,原来,我一直期待的3.0中文版发布了!立即升级,不到5分钟就升级完了;随后我又升级了Wordpress Super Cache。

终于体验到一件升级带来的便捷了。

我又启用的伪静态,很简单,在“设置”的“固定链接”中选择“自定义”,然后输入“/posts/%post_id%.html”(不含引号),然后你就会发现,所有的文章都会变成 ttp://biergaizi.info/posts/174.html 这样的伪静态地址了!

不过因为是在国外,速度不可能向国内那么理想,于是我使用Speed Page对我的网站进行检测,最后有严重问题,由于水平有限,只能优化这两项了:

1.未启用GZip压缩

2.没有充分利用浏览器缓存

于是,我在.htaccess上加上以下代码:

(1)启用GZip压缩

SetOutputFilter DEFLATE

AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript

(2)利用浏览器缓存


ExpiresActive on
ExpiresByType text/html “access 2 day”
ExpiresByType text/css “access 2 day”
ExpiresByType application/javascript “access 1 month”
ExpiresByType text/plain “access 1 month”
ExpiresByType image/jpeg “access 1 month”
ExpiresByType image/gif “access 1 month”
ExpiresByType image/png “access 1 month”
ExpiresByType application/pdf “access 1 month”
ExpiresByType application/x-shockwave-flash “access 1 month”
ExpiresDefault “access 2 days”

不过我发现,GZip压缩的代码貌似只能放在最后,不然就出现500错误了。

好了,我的网站有了很大的改进!

只不过……到现在我对网站已经做出这么大动作了,现在就等搜索引擎对其狠狠地K和降权了!

站长最近3天做的工作(301重定向,启用伪静态,启用SSH)

最近站长比较忙,做了几件事情。

1.301永久重定向

最近站长更换了域名,但是必须做完301永久重定向才行,第一是方便用户从以前的地址访问,第二是让搜索引擎更新地址,不然旧域名失效后我的站点就完蛋了。

以下是实现方法:

要求:

1.用户输入mycatbbs.cn就会跳到biergaizi.com,
用户输入mycatbbs.cn/site就会跳转到biergaizi.com(主站从/site/搬到了根目录)
用户输入biergaizi.com/site就会跳转到biergaizi.com

2.用户输入bbs.mycatbbs.cn就会跳到bbs.biergaizi.com,
用户输入mycatbbs.cn/bbs,就会跳到bbs.biergaizi.com,
用户输入biergaizi.com/bbs,就会跳到bbs.biergaizi.com;

3.用户输入blog.mycatbbs.cn,就会跳到biergaizi.info,
用户输入mycatbbs.cn/blog,就会跳到biergaizi.info,
用户输入biergaizi.com/blog,就会跳到biergaizi.info;

实现方法:

将两个域名都绑定到空间上。

将mycatbbs.cn这个旧域名添加子域名bbs(即bbs.mycatbbs.cn),并绑定到bbs所在的/bbs目录下。
建立子域名blog(即blog.mycatbbs.cn),并绑定到blog的目录下,

建立一个.htaccess文件,#后面的是便于大家理解的注释,下面的注释对应这上面的一行代码,注释可以保留也可以去掉,不影响运行。

内容如下:

 RewriteEngine On
 #开始重写

 RewriteCond %{HTTP_HOST} mycatbbs.cn$ [NC]
 RewriteRule ^(.*)$ http://biergaizi.com/$1 [R=301,L]
 #(用户访问时)把用户地址栏中的把前面的mycatbbs.cn换成,
 #http://biergaizi.com/,这样的话下面的目录也有效了。
 #转向类型,301永久重定向。

 RewriteEngine On
 #开始重写

 RewriteCond %{HTTP_HOST} blog.mycatbbs.cn$ [NC]
 RewriteRule ^(.*)$ http://biergaizi.info/$1 [R=301,L]
 #(用户访问时)把用户地址栏中的把前面的blog.mycatbbs.cn换成,
 #http://biergaizi.info/,转向类型,301永久重定向。

 RewriteEngine On
 #开始重写

 RewriteCond %{HTTP_HOST} bbs.mycatbbs.cn$ [NC]
 RewriteRule ^(.*)$ http://bbs.biergaizi.com/$1 [R=301,L]
 #(用户访问时)把用户地址栏中的把前面的bbs.mycatbbs.cn换成,
 #http://bbs.biergaizi.com/,转向类型,301永久重定向。
 Redirect permanent /site/ http://biergaizi.com/
 #用户访问/site/目录时自动跳转为http://biergaizi.com/,permanent,
 #301永久重定向

 Redirect permanent /bbs/ http://bbs.biergaizi.com/
 #用户访问/bbs/目录时自动跳转为http://bbs.biergaizi.com/

 Redirect permanent /blog/ http://biergaizi.info/
 #用户访问/blog/目录时自动跳转为http://biergaizi.info/

2.Discuz伪静态

也通过写.htaccess的方法实现,这回上面的注释对应着下一行的代码。

如下:

 # 将 RewriteEngine 模式打开
 RewriteEngine On

 # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
 RewriteBase /

 # Rewrite 系统规则请勿修改
 RewriteRule ^archiver/((fid|tid)-[0-9]+\.html)$ archiver/index.php?$1
 RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2
 RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
 RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2
 RewriteRule ^tag-(.+)\.html$ tag.php?name=$1

这样伪静态就可以顺利启用而不会出现404错误了。

3.SSH

SSH不是SSL,SSL是HTTPS协议用的证书,SSH是一种很安全的远程管理软件,连接中的数据使用高强度加密,这样可以代替FTP使用,还可以当代理翻墙,呵呵。

开通方法:

点击控制面板中的SSH,然后第一个框输入国家编码,前面不用写+ 。
美国是0,中国是86,其他国家的自己查询,网上都有。

第二个框是电话号,如果手机直接填,座机要在前面填写区号再点座机号。
我是手机,我填写151****0306。

第三个是好像是分机号(直译:延迟时间)。没有的话,那就留空。

好了,点一下按钮确定吧。

再点击按钮后,会出现一个新页面,而2秒钟之内,你的电话就会响,电话那头的机器人会告诉你Hello然后说一串数字,比如one one two two five six,重复两遍,记好了。

电话那头说Goodbye的时候(晕,还再见呢),就可以挂机了。

把刚才那一串号码输进打开的那个新页面,如果正确,24小时后就会开通了!

Copyright © 2022 比尔盖子 博客

Theme by Anders NorenUp ↑