Nginx支持WordPress3.0.1的永久链接(Permalink)

我最近准备使用Nginx+php-fpm搭建WordPress平台。

安装完成后准备启用友好形式的永久链接,但是经过种种尝试和查资料后,都不能成功。

Nginx没有Apache特有的mod_rewrite,因此不能由WordPress自动配置。

查资料时发现网上流传广泛的解决方案都不管用。

 

下面给出我的解决方案。

首先参照Apache2的.htaccess文件:

RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]

翻译成Nginx的rewrite规则如下:

 

location /wordpress/ {
    rewrite ^index\.php$ - last;

    if ( !-e $request_filename ) {
            rewrite . /wordpress/index.php last;
    }
}

已经经过实践验证了。:-)

posted @ 2010-08-22 22:01 HCOONa 阅读(239) 评论(3) 编辑 收藏

 回复 引用   
#1楼 2010-09-17 15:31 lich0079[未注册用户]
大侠,真的太谢谢你了
到处没找到答案,还是在你这找到了
但你能解析下为什么要这么配吗 我还是不明白

 回复 引用 查看   
#2楼 2011-05-26 15:07 Hello! Linux 博客      
使用你的方法设置好了,有点不明白。
rewrite后是不是直接把请求的参数递交给 index.php处理了?

 回复 引用 查看   
#3楼[楼主] 2011-05-26 15:21 HCOONa      
@Hello! Linux 博客
是这样的,可能最新的wordpress处理方式改变了,如果有兴趣你应该看看源码:P

发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1805975 Uy7VN5vNVIc=