解决emlog在nginx下伪静态不能使用问题

今天想把本(emlog)博客的日志链接形式变成伪静态链接形式,在后台“博客设置->固定链接”进行了设

置,改为文件形式,保存后再访问博客日志时报403,郁闷呀,接触nginx和emlog时间不长,遇到问题得

上网找找解决方案,网上相关解决方案太多了,对菜鸟的我真是棘手,不停地试他们的解决方法,试了很

长时间才找到解决方法。说明下解决方法太多了,很多人只是贴出代码,没教你怎样怎样去做才好,对刚

接触这方面知识的我,真是一头雾水呀。好了废话少说开始进入正题。


以下有两种解决方法
1.让nginx支持.htaccess。
nginx默认不支持.htaccess的,可通过nginx.conf配置文件引入.htaccess文件达到支持效果。
例如:

01 http{
02  ……
03  server
04   {
05   listen       80;
06   server_name denghuafeng.com;
07   index index.html index.htm index.php;
08   root  /home/wwwroot;
09    
10   include /home/www/.htaccess;#此为.htaccess文件存在的路径
11                 ……
12            }
13  
14 }

配置好后,上传到服务器,这时还需注意,在nginx下的.htaccess里伪静态规则语法结构跟一

般.htaccess文件里伪静态规则语法不一致,一般的.htaccess都是以apache为准的。在初始化安装emlog

博客后,emlog中的.htaccess伪静态规则语法默认是以apache为准,需转换成nginx下使用的伪静态规则

语法,咋转了,别费心了,推荐使用在线convert-apache-htaccess-to-nginx

http://www.anilcetin.com/convert-apache-htaccess-to-nginx/ )工具来处理。使用很简单,将

apache的.htaccess内容复制到左边文本框里,点击convert按钮,进行转换,右侧生成nginx规则的语法

,拷贝存入.htaccess中,重启nginx可以了。
2.可引入自定义emlog伪静态nginx规则的文件。
假如没有emlog.conf文件,你可在nginx配置文件夹里新建一个emlog.conf,内容如下:

01 location / {
02               if (!-f $request_filename){
03                 set $rule_0 1$rule_0;
04                }
05               if (!-d $request_filename){
06                 set $rule_0 2$rule_0;
07                }
08               if ($rule_0 = "21"){
09                 rewrite ^/(post|record|sort|author|page)-([0-9]+)\.html$ /index.php?$1=$2;
10                 rewrite ^/(post|record|sort|author|page)/([0-9]+)$ /index.php?$1=$2;
11                }
12                 rewrite ^/tag-(.+)\.html$ /index.php?tag=$1;
13                 rewrite ^/tag/(.+)$ /index.php?tag=$1;
14                 rewrite ^/t/page/([0-9]+)$ /t/index.php?page=$1;
15             }

nginx.conf中引入:

1 http{
2  ……
3  server
4   {
5   ……
6   include emlog.conf;
7                 ……
8            }
9 }

配置好后,重启nginx后可以了。

问题解决,ok了。

以下是emlog.conf和.htaccess附件。
 注:如需转载,请注明出处,欢迎交流!Email:denghuafeng@live.cn

附件下载:
htaccess.rar | 257字节 | 下载: 55 
emlog.conf.rar | 288字节 | 下载: 55 

版权所有:邓华锋 《 解决emlog在nginx下伪静态不能使用问题》
引用地址:http://www.denghuafeng.com/tb.php?sc=e30304&id=8 
站长声明:除特别标注,本站所有文章均为原创. 互联分享,尊重版权,转载注明出处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值