'.htaccess' 标签

WordPress的优化与减肥

1,删除不必要的元数据 例如wordpress版本号 ;在functions.php中加入如下代码:
remove_action( 'wp_head', 'wp_generator' ) ;
remove_action( 'wp_head', 'wlwmanifest_link' ) ;
remove_action( 'wp_head', 'rsd_link' ) ;

2.阻止浏览WordPress的文件夹结构,在根目录下的 .htaccess文件里加入如下一句:
Options All -Indexes
还要确保wp-content/themes和wp-content/plugins文件夹的index.php留空。

3.禁用在WordPress评论中使用HTML,在functions.php文件中加入下面这句
add_filter( 'pre_comment_content', 'wp_specialchars' );

4.关闭在WordPress文章的修订。在wp-config.php文件里加入如下这行 (减轻数据库)
define( 'WP_POST_REVISIONS', false);
如果保留此功能,只是减少修订次数 就加入
define( 'WP_POST_REVISIONS', 3);

5.隐藏次要的WordPress RSS,在functions.php文件中加入
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'feed_links_extra', 3 );

6.重定向所有rss到的主RSS订阅,在.htaccess文件中加入


RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC]
RewriteRule ^feed/?.*$ 你的地址 [L,NC,R=301]

.htaccess 实现301重定向例子

没带www跳到带www.下:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^boromeke.com$
RewriteRule ^/?$ "http\:\/\/www\.boromeke.com" [R=301,L]

单页面链接例子:
Redirect 301 /pagename.php http://www.domain.com/pagename.html
重定向整个网站:
Redirect 301 / http://www.youdomain.com/
整个网站重定向到一个子文件夹:
Redirect 301 / http://www.domain.com/newfolder/
子文件夹重定向到另一个站点:
Redirect 301 /subfolder http://www.domain.com/
重定向文件扩展名:
RedirectMatch 301 (.*)\.html$ http://www.domain.com$1.php //从定向html文件到php文件

重写的例子:
#Redirect from old domain to new domain //从旧域名重定向到新域名
RewriteEngine on
RewriteBase /
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

#Redirect to www location //重定向到www位置
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,NC]

#Redirect to www location with subdirectory//重定向到www位置与子目录
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]

# Redirect from www to non-www location //从www重定向非www的位置
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.domain.com [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

在线转换Apache重写规则到Nginx重写规则

Apache重写规则 .htaccess很实用,但随着流量增大转到VPS上是必然的事情,而现在Web服务器中Nginx已经成为首选,所以将Apache原先的重写规则转到Nginx重写规则 也不算是件容易的事情。这个http://www.anilcetin.com/网站就是可以在线件将.htaccess转到Nginx重写规则的服务apache2nginx。 apache2nginx托管在github上 https://github.com/mow/apache2nginx。

WordPress:主机中.htaccess文件被修改的原因

如何你的wordpress主机中已经有.htaccess文件的话,那么你打开它一般都会有这样的一段代码:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

接下来如果你想在里面加入一些规则(例如优化wordpress的规则),如果你把新添加的规则代码放在了# BEGIN WordPress和# END WordPress这间的话那么你所添加的新规则代码,在你下次或者某天再次编辑.htaccess文件的时候,你会发现你所有的新添加的代码都不见了。
所以在添加新的代码的时候就不要把它放在# BEGIN WordPress和# END WordPress这间了。