nginx下实现pathinfo及WordPress、Typecho永久链接(伪静态)

标签: nginx pathinfo wordpress | 发表时间:2012-10-17 18:54 | 作者:蓝飞
分享到:
出处:http://www.clanfei.com/

今晚配置了下LNMP环境下的阿里云服务器,将网站(使用的是自己写的BasePHP Beta框架)部署完毕后发现伪静态功能未能启用,才发现原来nginx并不像apache那样可以直接支持pathinfo,因此百度了一下,找到了启用pathinfo的解决方案。

打开nginx.conf配置文件,找到类似如下代码的地方(不同版本的nginx可能稍有不同,但相差不远):

  
  1. location ~ \.php$
  2. {
  3. #原有代码
  4. }

将其改成:

  
  1. #去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo
  2. location ~ \.php
  3. {
  4. #原有代码
  5. #定义变量 $path_info
  6. set $path_info "";
  7. #定义变量 $real_script_name,用于存放真实地址
  8. set $real_script_name $fastcgi_script_name;
  9. #如果地址与引号内的正则表达式匹配
  10. if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
  11. #将文件地址赋值给变量 $real_script_name
  12. set $real_script_name $1;
  13. #将文件地址后的参数赋值给变量 $path_info
  14. set $path_info $2;
  15. }
  16. #配置fastcgi的一些参数
  17. fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
  18. fastcgi_param SCRIPT_NAME $real_script_name;
  19. fastcgi_param PATH_INFO $path_info;
  20. }

这样,nginx服务器就可以支持pathinfo了。

上面做的是让PHP文件能够接收到pathinfo的参数,那么现在剩下要做的就是要将参数rewrite到单一的入口文件index.php上。在网上搜索了一下WordPress在nginx环境下的固定链接配置方式,发现都比较繁琐,于是直接自己写了一段rewrite规则,加在access_log语句的上方即可:

  
  1. #如果请求即不是一个文件,也不是一个目录
  2. if (!-e $request_filename)
  3. {
  4. #地址作为将参数rewrite到index.php上。
  5. rewrite ^/(.*)$ /index.php/$1;
  6. #若是子目录则使用下面这句,将folder改成目录名称即可。
  7. #rewrite ^/folder/(.*)$ /folder/index.php/$1;
  8. }

相关 [nginx pathinfo wordpress] 推荐:

nginx下实现pathinfo及WordPress、Typecho永久链接(伪静态)

- - 蓝飞技术部落格
今晚配置了下LNMP环境下的阿里云服务器,将网站(使用的是自己写的BasePHP Beta框架)部署完毕后发现伪静态功能未能启用,才发现原来nginx并不像apache那样可以直接支持pathinfo,因此百度了一下,找到了启用pathinfo的解决方案. 打开nginx.conf配置文件,找到类似如下代码的地方(不同版本的nginx可能稍有不同,但相差不远):.

WordPress SEO 宝典

- luckerme - 我爱水煮鱼
最基本的搜索引擎优化(SEO)是很简单的,而 WordPress 程序本身的一些优势使得 SEO 变得更加容易,比如我爱水煮鱼有超过 70% 的流量来自搜索引擎,所以做好 SEO 就是流量的保证,这篇文章就给大家介绍下在 WordPress 博客中最基本的一些 SEO 要求,希望能够帮助到你. 简单来说 SEO 分为页面优化和链接建设两大部分,页面优化是基础,而链接建设则是重点,两者缺一不可.

WordPress 技巧

- - CSDN博客互联网推荐文章
WordPress字体设置方法详解.          WordPress开源程序功能越来越强大,未来我们不仅仅可以使用wordpress制作个人博客,还可以使用wordpress程序制作CMS内容管理系统. 很多 Wordpress主题SEO优化的非常好,而且还附带了一些adsense广告位置,让不懂SEO以及代码修改的朋友轻松解决博客优化以及广告位放置问题.

WordPress SEO 宝典

- - 人人都是产品经理
最基本的搜索引擎优化(SEO)是很简单的,而 WordPress 程序本身的一些优势使得 SEO 变得更加容易,比如我爱水煮鱼有超过 70% 的流量来自搜索引擎,所以做好 SEO 就是流量的保证,这篇文章就给大家介绍下在 WordPress 博客中最基本的一些 SEO 要求,希望能够帮助到你. 简单来说 SEO 分为页面优化和链接建设两大部分,页面优化是基础,而链接建设则是重点,两者缺一不可.

WordPress 相关日志插件:WordPress Related Posts

- - 我爱水煮鱼
我们知道 WordPress 使用的 MySQL 数据库默认是不支持中文分词,所以在中文情况下产生相关日志的最好方法就是通过 Tag,而. WordPress 2.3 版本开始 WordPress 内置了 Tag 的支持. 所以根据日志含有相同的 Tag 数越多,就认为日志相关性越强,所以我根据这一原理开发了 WordPress Related Posts 这个插件,最新版已经由 Zemanta 接手继续开发了.

WordPress如何赚钱?

- 幻幽 or A書 - 36氪
WordPress是一个免费的开源博客平台,那么它是如何赚钱的呢. 创始人Matt给出了以下7点盈利来源:. 比如说为Om Malik,Allthings D这样的大公司博客提供博客托管,他们就会收取每月500美元. 有时候你可能会在WordPress平台上的免费博客内看到Google广告,不过这取决于以下3个条件都存在——访客使用的不是火狐浏览器,他已经登出WordPress账户(如果他有的话),链接源不能是WordPress平台博客(比如一个从abc.wordpress.com到xyz.wordpress.com的人不会看到任何Google广告).

nginx配置ssl

- - 邢红瑞的blog
先生成网关证书 ,仿照CA模式.

Nginx GZip 压缩

- - 开心平淡对待每一天。热爱生活
  Nginx GZip 模块文档详见: http://wiki.nginx.org/HttpGzipModule 常用配置片段如下:. # 压缩比例,比例越大,压缩时间越长. 默认是1 gzip_types. text/css text/javascript; # 哪些文件可以被压缩 gzip_disable.

Nginx安装

- - 企业架构 - ITeye博客
nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译环境可以使用以下指令. centos平台编译环境使用如下指令. 一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩.