时间足够你爱
Posts tagged nginx
W3 Total Cache对Nginx的静态链接支持
4W3 Total Cache是wordpress一个很全面很强大的缓存加速插件 用了它之后其他什么优化插件都可以不需要了
它本身支持好几种缓存的方式 一般shared host就是网站空间的话 大概只能选disk缓存方式
我这个是vps 所以可以装php-apc用来缓存 ubuntu下也很方便 直接 sudo apt-get install php-apc就可以
类似的 依然还会有静态链接和nginx的配合问题 其实W3 Total Cache目前的版本已经支持nginx
配置好后 会在服务器wordpress的根目录下生成一个nginx.conf文件 所以需要做的只是把这段规则加到nginx的配置文件里就行
比如我nginx的配置文件是 /etc/nginx/sites-enabled/default 只需要在
server {
}
段里面location / 后面加上一段 变成这样就可以了
location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
try_files $uri $uri/ /index.html;
if (!-e $request_filename) {
rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last;
rewrite ^([_0-9a-zA-Z-]+)?(/.*.php)$ $2 last;
rewrite ^ /index.php last;
}
if (-f $request_filename) {
expires 30d;
break;
}
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?q=$1 last;
}
}
include /var/www/wordpress/nginx.conf;
/var/www/wordpress相应改成wordpress文件的目录就行
nginx里wordpress 3.1的url rewrite规则
0整了一个vps 自己装上Nginx + PHP + Spawn-fcgi + MySQL 来放自己的博客
wordpress本身的静态化链接用的是Apache的mod_rewrite 都写在.htaccess文件里
但是nginx是不认这个的 用的是自己的一套规则 所以得自己添加进去一段
ubuntu下面直接修改的/etc/nginx/sites-enabled/default 里面 修改下面这些部分 就可以了
location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
try_files $uri $uri/ /index.html;
if (!-e $request_filename) {
rewrite ^([_0-9a-zA-Z-]+)?(/wp-.*) $2 last;
rewrite ^([_0-9a-zA-Z-]+)?(/.*.php)$ $2 last;
rewrite ^ /index.php last;
}
if (-f $request_filename) {
expires 30d;
break;
}
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?q=$1 last;
}
}
当然了 我这里是直接用顶级域名放的博客 如果你是放在某个后缀里面的就把 location / 改成相应的后缀就行
加上上面这段就可以在后台选择固定链接了
燕过留痕