10个实用的 WordPress .htaccess技巧

文章转自水脉烟香,非常有价值,转发过来与更多网友分享。

1. 重定向WordPress的RSS Feed链接地址到Feedburner地址:
除了修改WP的模板文件来定制其输出的RSS Feed链接地址外,还可以使用.htaccess文件来进行设置(替换yourrssfeedlink为自己的Feedburner地址)。

View Code HTACCESS
1
2
3
4
5
6
7
# 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://feeds2.feedburner.com/catswhocode [R=302,NC,L]
</IfModule>

参考:How to redirect WordPress rss feeds to feedburner

2. 去除WordPress分类链接中的“/category/”:
默认情况下,WordPress的分类链接显示的样式为:
http://www.smyx.net/category/technic
其实其中的category部分没有任何意义,如果想去掉它可以修改.htaccess文件(替换yourblog为自己的网址)。

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

参考:How to remove category from your WordPress url

3. 使用浏览器缓存:
可以修改.htaccess文件让访问者使用浏览器缓存来优化其访问速度。

View Code HTACCESS
1
2
3
4
5
6
7
FileETag MTime Size
<ifmodule mod_expires.c>
  <filesmatch "\.(jpg|gif|png|css|js)$">
       ExpiresActive on
       ExpiresDefault "access plus 1 year"
   </filesmatch>
</ifmodule>

参考: Comment accelerer le temps de chargement de votre blog

4. 压缩静态数据:
可以修改.htaccess文件来压缩需要访问的数据(传输后在访问端解压),从而可以减少访问流量和载入时间。

1
2
3
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. 重定向日期格式的WP Permalink链接地址为Postname格式:
如果你目前的Permalink地址为/%year%/%monthnum%/%day%/%postname%/ 的格式,那么我强烈推荐你直接使用/%postname%/ ,这样对搜索引擎要舒服得多。首先你需要在WordPress的后台设置输出的Permalinks格式为/%postname%/ 。然后修改.htaccess文件来重定向旧的链接,不然别人以前收藏你的网址都会转成404哦!(替换yourdomain为自己的网址)

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

参考: Redirect day and name permalinks to postname

6. 阻止没有referrer来源链接的垃圾评论:
设置.htaccess文件可以阻止大多数无Refferrer来源的垃圾评论机器人Bot Spammer。其会查询访问你网站的来源链接,然后阻止其通过wp-comments-post.php来进行垃圾评论。

View Code HTACCESS
1
2
3
4
5
6
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]

参考: How to deny comment posting to no referrer requests

7. 定制访问者跳转到维护页面:
当你进行网站升级,模板修改调试等操作时,最好让访问者临时跳转到一个声明的维护页面(和404错误页面不同),来通知网站暂时无法访问,而不是留下一片 空白或者什么http bad错误。(替换maintenance.html为自己定制的维护页面网址,替换123.123.123.123为自己目前的IP地址,不然你自己访 问也跳转哦)

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

参考:Comment faire une page d’accueil pour les internautes

8. 设置你的WordPress防盗链:
盗链是指其它网站直接使用你自己网站内的资源,从而浪费网站的流量和带宽,比如图片,上传的音乐,电影等文件。(替换mysite为自己的网址和/images/notlink.jpg为自己定制的防盗链声明图片)

View Code HTACCESS
1
2
3
4
5
6
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]

参考:How to protect your WordPress blog from hotlinking

9. 只允许自己的IP访问wp-admin:
如果你不是团队合作Blog,最好设置只有自己能够访问WP的后台。前提是你的IP不是像我一样动态的哦。(替换xx.xx.xx.xx为自己的IP地址)

View Code HTACCESS
1
2
3
4
5
6
7
8
9
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>

参考:Protecting the WordPress wp-admin folder

10. 阻止指定IP的访问:
如果你想要阻止指定IP的访问,来防止其垃圾评论,那么你可以创建自己的Backlist黑名单。(替换xx.xx.xx.xx为指定的IP地址)

1
2
3
4
5
<Limit GET POST>
order allow,deny
deny from 200.49.176.139
allow from all
</Limit>

参考:The easiest way to ban a WordPress spammer

Form:http://e-spacy.com/blog/10-htaccess-hacks-for-wordpress.html

落花生

认准了方向,就要勇敢地走下去,十年磨一剑,我相信,只要坚持,一切都有可能。

相关日志

  1. 2014.11.21

    一段代码屏蔽谷歌字体,加载WordPress后台加载速度

    自谷歌服务被天朝屏蔽了之后,WordPres…

  2. 没有图片

    2011.05.02

    WordPress友情链接调用函数及参数

    平时设计WP主题,很少专门提到友情链接的定义…

  3. 没有图片

    2011.12.22

    LNMP的mail函数不能发送邮件解决办法

    编译好的LNMP环境下,WordPress的…

  4. 没有图片

    2009.11.23

    百度文档分享平台上线

    逛了一圈,发现百度新上线了百度文档分享平台,…

  5. 没有图片

    2013.12.23

    小红伞 杀毒软件永远的经典

    其实说起来杀毒,已经很早就和国内外各大杀毒软…

  6. 没有图片

    2010.03.22

    MSDN Windows 7 专业版 | Windows 7 Professional

    今天我的Windows 7 旗舰版资源管理器…

评论

  1. bluehost 优惠码 2011.05.28 2:32下午

    收藏下

  2. hostgator 2011.05.26 5:22上午

    去除category这招不错!

  3. 小五 2011.05.24 12:35上午

    这个评论验证码怎么搞得?

    • 李思章 2011.05.24 11:25下午

      一段代码就可以搞定,需要我可以发给你。

  4. 主机评论博客 2011.05.23 10:45下午

    一般我都用伪静态,301

  5. yongqi 2011.05.23 10:57上午

    好东东~收藏!

  6. 网赚教程下载 2011.05.21 2:40下午

    有用,正在学习呢!

  7. 老衲 2011.05.20 9:23下午

    原来一直在找去掉category的方法,不过现在到不在意了

  8. 羽中 2011.05.20 6:56下午

    用的很少,就是基本的跳转和伪静态,很多功能博客程序本身也能提供

  9. imageby 2011.05.20 9:59上午

    学习了备用,虽然现在用的不给.hta

  10. elaphent 2011.05.18 9:32上午

    额,最近改了Permalink,看样子有必要用下第五个

About

马拉松运动员,沉迷于跑步;关注科技前沿,关注互联网!与跑者、程序员、设计师为伍,一起跑步健身,一起编写程序,为自由而战!