10个用.htaccess文件帮助你优化网站的技巧

“.htaccess”文件往往被网页设计师们忽略。假如你还不知道什么是htaccess的话,你可以去查一下wikipedia。它是目录级别的配置文件,有常用的网页服务器支持这种配置,例如Apache。下面我将列出10条有用的.htaccess配置技巧。

1. 反盗链
那些盗用了你的内容,还不愿意自己存储图片的网站是无耻的。你可以通过以下配置来放置别人盗用你的图片:

1 RewriteBase /
2 RewriteCond %{HTTP_REFERER} !^$
3 RewriteCond %{HTTP_REFERER} !^http://(www.)?yoursite.com/.*$ [NC]
4 RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]

2. 防止目录浏览
有时候目录浏览是有用的,但大部分情况会有安全问题。为了让你的网站更安全,你可以通过htaccess文件来禁用这个功能:

1 Options All -Indexes

3. SEO友好的301永久重定向
这一招是我常用的。每次我更改网站URL结构的时候,我都会做301重定向:

1 Redirect 301 http://www.yoursite.com/article.html http://www.yoursite.com/archives/article

4. 显示个性化的 404 错误页面
当用户访问了一个不存在的页面的时候,网页服务器会显示“404 file not found”错误。有很多CMS可以让你设置自定义的错误页面,但最简单的方法是更改htaccess:

1 ErrorDocument 404 /404.html

5. 设置目录的默认页面
假如你需要为不同的目录设置不同的默认页面,你可以很容易的通过 .htaccess

最新免费获取Akismet API key的方法

我刚开始接触WordPress博客系统接触的第一个插件就是Akismet了,这个插件很强大,能帮我们过滤垃圾评论,本站到目前为止就过滤了七条,感觉真的非常棒。但是这个插件需要一个Akismet API key,刚装上WordPress这个插件还是不能用的。本站就一直在用这个插件,我非常喜欢Akismet插件。

接下来,我就教你如何免费获取Akismet API key。首先,进入Akismet插件主页:http://akismet.com;

Akismet API key
在网页的右上部分你可以看到“Get started”按钮,点击它,这时进入一个页面要你选择产品:Enterprise,Pro和Personal,像本站这样的个人网站就选择右边的Personal,我们如果要免费的Akismet API key,就必须选择这个。图示:

Akismet API key
继续阅读…

Apache开启Mod_Rewrite实现URL重写的配置方法(带实例)

前端时间朋友的网站由于在做SEO URL的规划,需要利用Apache的Mod_Rewrite对URL进行重写,实现网站伪静态化。在拿到他们提供的URL规划方案后,我做了测试,大家可以看一下。
测试环境:
Windows xp
PHP4.3
Apache2.0.58
配置步骤:
第一步:找到apache的配置文件httpd.conf(文件在conf目录下)
第二步:你首先必须得让服务器支持mod_rewrite,如果你使用的是虚拟主机,请事先询问你的主机提供商。
打开httpd.conf,找到
#LoadModule rewrite_module modules/mod_rewrite.so
把#去掉
找到AllowOverride None 改成 AllowOverride All,
注:AllowOverride 的参数设置为ALL,表示整台服务器上都支持URL规则重写。Apache 服务器要读每个网站下目录下的 .htaccess 文件。如果没有这个文件,或者这个文档没有定义任何关于URL重写的规则就不会有任何效果。
对于不同的网址,需要在APACHE中增加如下内容

/*引号里代表你的web存放目录*/
/*如果是Linux,只要你定位到你网站目录即可*/
Options FollowSymLinks
AllowOverride None

第三步:重启apache服务器,先按stop再start。
第四步:在你需要URL重写的网站目录下放一个.htaccess文件,文件名是.htaccess,Windiws下不能直接建立,你可以用记事本另存为。
注:我测试的时候在每个需要伪静态的目录下都存放了对应的.htaccess文件,同时在httpd.conf文件中像第二步那样对相关的目录添加了相应的..代码。
第五步:在.htaccess中通过正则表达式映射需要伪静态的页面。
URL正则表达式如下:
RewriteEngine on
RewriteRule index.html index.php
RewriteRule (d+).html$ info.php?infoid=$1
注:URL规划的方案例子:
www.leapsoul.cn/info/info.php?infoid=100
映射为
www.leapsoul.cn/info/100.html
配置结束。
在Linux下基本上没啥变动,我只修改了相关目录地址,运行正常。
以上就是我关于利用Apache的mod_rewrite对URL重写的具体操作步骤,从而实现了网站URL伪静态化。

MySQL for Win7服务无法启动并提示1067错误的解决方案

安装MySQL for Win7,配置好最后点击 Execute 按钮了,但是进行不到 Start service 这一步。检查了下 MySQL 系统服务已添加,但是无法启动,手工也不行。这时候用事件查看器可以看到程序事件里有几个来自于 MySQL 的错误:

Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
Unknown/unsupported table type: INNODB

原来是因为该版本 MySQL 默认使用了支持事物的 INNODB 引擎,打开 my.ini 文件,在 MySQL 的安装文件夹, 如 X:MySQL 中,看到:

default-storage-engine=InnoDB

解决办法是把该设置改为

default-storage-engine=MyISAM

仍然使用 MyISAM 作为默认的数据库引擎,保存 my.ini 文件,然后手工启动 MySQL 服务成功。

WordPress主题收集-Maximum

maximum_1299744876804
作者: Michael Soriano
语言:英文
类别:三栏
版本:0.1
演示:DEMO
继续阅读…

12个最出色的批量图像处理工具

现在的数码相机几乎人手好几部,因此有一款好用的批量照片处理工具是必不可少的,本文向你推荐 12 款很棒的批量照片处理工具,可用来批量修改尺寸、格式转换等。

BDSizer


BDSizer

如果你有很多图片需要修改大小,那么这款工具就是你需要的,可用来修改图片的大小,支持 Windows。
继续阅读…

2012移动互联发展最有可能的20大方向

这是分析师Chetan Sharma通过征集众多移动互联网行业负责人的观点和意见,并在多家机构的支持和帮助下,做的一次较为全面的2012移动行业预测调查。在此我们将其整理出来,供移动互联网从业者参考。

参与调查的人员结构图:

继续阅读…

linux+apache+mysql环境下,gzip压缩后的效果

先说一下我的环境。linux+apache+mysql 并且已经安装了gzip组建。
飞飞没有后台直接看起gzip的按钮,就要通过.htaccess来实现。
只需要在.htaccess添加下面一段代码就OK了

AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png text/plain text/xml application/x-httpd-php application/x-javascript

直接就能够实现gzip压缩。
压缩率根据页面大概是65%-75%

是否压缩 是
压缩类型 gzip
原始文件大小 68399 字节
压缩后文件大小 9847 字节
压缩率(估计值) 85.6%

织梦DedeCMS首页调用单页文档内容的实现方法

{dede:sql sql=”SELECT body FROM `dede_sgpage` where aid = 3″ }
[field:body function="htmlspecialchars(cn_substr(@me,100))"/]
{/dede:sql}
其中:

{dede:sql sql=”SELECT body FROM `dede_sgpage` where aid = 3″ }
sql=”SELECT body ” 这里面的body 就是文章内容;

FROM `dede_sgpage` 这里的dede_sgpage就是单页文档存档的数据表,这是织梦5.6的,其它版本的根据表的名称需要自己定义了;

where aid = 3″ 这里的aid = 3就是我们的单页文档所在的id,我们需要调用哪个单页文档的内容,就把这个换成所在文档的id就可以了!

[field:body function="htmlspecialchars(cn_substr(@me,100))"/]
field:body 这里的body也是文章的内容;

(cn_substr(@me,100) 这里的100 就是我们准备让内容显示的字数,这个是可以调整的。

这样做出来的会发现有一个问题,html也被调用了出来。我们需要把它过滤掉,用下面的方法:

{dede:sql sql=”SELECT body FROM `dede_sgpage` where aid = 3″ }
[field:body function="htmlspecialchars(cn_substr(Html2text(@me),100))"/]
{/dede:sql}

Html2text() 这个函数是去掉html标签的代码;

cn_substr(str,100) 这个函数是截取字符串长度。

这样我们就可以调用单页文档内容了。

“….身体最强大的肌肉是心..唯女子也”

Edit late…