openshell 的个人博客

一天很长,但十年很短。

Open Source, Open Mind,
Open Sight, Open Future!
  menu
110 文章
5051 浏览
1 当前访客
ღゝ◡╹)ノ❤️

wordpress在Windows+nginx下实现伪静态

方法一:使用httpd.ini完美实现wordpress伪静态

1.创建一个httpd.ini文件(创建一个txt文件,然后得命名为httpd,更改.txt的后缀为.ini),然后添加下面的代码:

[code]
[ISAPI_Rewrite]

Defend your computer from some worm attacks

#RewriteRule .(?:global.asa|default.ida|root.exe|..). . [F,I,O]

3600 = 1 hour

CacheClockRate 3600
RepeatLimit 32

Protect httpd.ini and httpd.parse.errors files

from accessing through HTTP

Rules to ensure that normal content gets through

RewriteRule /tag/(.) /index.php?tag=$1
RewriteRule /software-files/(.
) /software-files/$1 [L]
RewriteRule /images/(.*) /images/$1 [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]

For file-based wordpress content (i.e. theme), admin, etc.

RewriteRule /wp-(.*) /wp-$1 [L]

For normal wordpress content, via index.php

RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]
[/code]

2.保存后,把httpd.ini文件上传到网站根目录,然后登陆wordpress博客后台,在设置——固定链接中的自定义结构设置url形式即可。

使用以上方法对win空间下的wordpress设置伪静态前,请先询问主机商是否支持伪静态(IIS Rewrite 组件),这个是IIS6.0下最新的wordpress伪静态规则。

方法二:博主在使用了第一种方法无效之后只得另找方法,就在我快绝望的时候我找到了以下方法:

打开 nginx.conf 或者某个站点的配置环境,比如 www.52yifen.com.conf(不同人配置的不一样),在  server   { } 大括号里面添加下面的代码:

[code]

location / {
try_files $uri $uri/ /index.php?$args;
}

Add trailing slash to */wp-admin requests.

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

[/code]

注意:这个location不是让你去新建一个,而是在你的配置文件中找到location /{} 然后加进去,rewrite加在括号外面。

博主的环境是window sever 8 r2+主机宝(nginx+PHP 5.4 FastCgi)


标题:wordpress在Windows+nginx下实现伪静态
作者:openshell
地址:http://solo.caiqz.cn/articles/2018/03/16/446.html