说明:
由于wordpress默认采用类似http://www.gaingreat.com/?p=910这样的地址。这一方便不便于观看,另一方面听说也不利于SEO。
因此一直希望将 wordpress地址改成http://www.gaingreat.com/centos升级python2-4到2-7/这样
或http://www.gaingreat.com/934.html的效果。
nginx不像apache可以通过写.htaccess实现,需要在虚拟主机里写rewrite规则。
wordpress是3.5.1,试了下可以用!
实现:
1.其实Nginx下配置WordPress的Rewrite还是比较简单的,在server {………………}里面加入以下内容
location / { index index.html index.php; if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } }
2.登陆wordpress管理后台,设置|固定链接,选择需要的地址格式,保存即可。
如要实现http://www.gaingreat.com/centos升级python2-4到2-7/这样子的效果,就选自定义,填写/%postname%/
如要实现http://www.gaingreat.com/934.html这样子,就选自定义,填写/%post_id%.html
附录:
1.由于之前的文章都是以http://www.gaingreat.com/?p=910这样的格式化保存,虽然改成http://www.gaingreat.com/centos升级python2-4到2-7/这样子,使用原来的地址还是可以访问的。
location /{………………},这是什么文件里面的?
http{
server
{
……
location /
{
index index.html index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
……
}
}
这里,location /{………………}放在server{}里面,最好放前面点。nginx是从上到下匹配,避免被其它规划匹配。