2013年7月7日星期日

WordPress .htaccess 的10个Hack技巧

.htaccess文件是用来控制Apache服务器的,它很有用,并允许你做很多事,下面就介绍关于.htaccess的10个修改方法,让你的 wordpress更加的安全、多功能、和可用性!
警告:在修改之前请你备份.htaccess,一边修改后出现错误你可以恢复!

1.重定向你的WordPress RSS feeds 到feedburner或feedsky

# temp redirect wordpress content feeds to feedburner
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://在feedburner你的地址 [R=302,NC,L]
</IfModule>


2.删除博客中的/category/你是不是觉得博客分类浏览url老有个/category/觉得很不滑爽?要移除 /category/,除了可以用插件Top Level Categories来实现,也可以通过修改.htaccess来实现!
打开.htaccess,在里边添加:一般是紧跟在最后一行RewriteRule ^字样的下面添加

RewriteRule ^category/(.+)$ http://www.yourblog.com/$1 [R=301,L]


注意:记得要把http://www.yourblog.com/替换为你的网址
3.使用浏览器的缓存
强制浏览器使用缓存,加速网页载入时间,当然是在网页没有改变的前提下

FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch "\.(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>
</ifmodule>


4.压缩静态数据
此代码肯定会节省您(和您的访客)带宽

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html


5.重定向”day”和”name”到/%postname%/
如果你使用的固定链接为”/%year%/%monthnum%/%day%/%postname%/”,你又想把固定链接设置为” /%postname%/”,又怕以前的链接失效,那这个可以帮助你解决!
首先把你的固定链接设置成/%postname%/,然后在你的.htaccess添加:

RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.domain.com/$4


记得把www.domain.com替换成你的域名!
6.如果拒绝带网页链接评论
这个功能你可以使用akismet插件来完成,当然也可以通过修改.htaccess来完成!

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]


记得把yourblog.com替换成你的域名!
7.如何重定向访问者到一个固定页面
有些时候你的博客要维护,你想把你的博客的访问者重定向到一个维护的说明页面,这个就能然你实现!

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]


maintenance.html 这个就是你要重定向到的页面
8.拒绝引用你的博客的图片
有些时候由于其他网站引用你博客的图片使得你的流量暴增,这个功能将是别人无法引用你的图片!

RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your "don't hotlink" image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]


记得把mysite.com修改成你的域名,nohotlink.jpg 为别人引用你图片时在他网站出现的图片!
9.只允许你自己的Ip地址才可以登录到wp-admin管理后台
其实这个也很有用,只是我们这些使用ADSL的无法拥有固定Ip,所以这个功能就有点无奈!

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Example Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xx
</LIMIT>


xx.xx.xx.xx为你的IP地址!
10.禁止指定的IP地址访问
有些时候你的博客可能受到同一个Ip地址的骚扰,比如说垃圾短信,你可以用禁止此IP访问的办法来抵制!

<Limit GET POST>
order allow,deny
deny from 200.49.176.139
allow from all
</Limit>

没有评论:

发表评论