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. 没有图片

    2009.09.26

    WordPress 不用插件实现运行代码框(转)

    本来就想找个实现代码运行的插件,感觉都不太好…

  2. 没有图片

    2014.01.07

    Windows 8.1 系统镜像备份/恢复教程

    在 Windows XP 系统,我们习惯使用…

  3. 没有图片

    2013.08.28

    WordPress主题 NewsPlus 安装使用教程

    很多朋友都在使用我发布的原版汉化作品 New…

  4. 没有图片

    2010.11.02

    25个有用的PSD转CSS/XHTML基础教程

    现在你已经掌握熟练地设计PSD平面作品,但也…

  5. 没有图片

    2009.07.06

    饭否 WordPress 插件 Fanfou Tools

    这个是fanfou.com的Wordpres…

  6. 没有图片

    2011.12.10

    Discuz!X2防CC攻击的设置方法

    用Discuz!X2建设论坛的网站不计其数,…

评论

  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

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