电脑技术学习

WordPress伪静态规则(Nginx/apache/iis)

dn001

  大家都知道伪静态可以使WordPress更快更容易被搜索引擎检索提高网站访问量和访问体验.但是目前流传的WordPress伪静态规则问题非常多的,下面我整理了一些非常不错的给各位参考。

经测试,下列代码完美兼容Nginx的伪静态规则。

代码如下 复制代码

rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;

if (!-e $request_filename) {

rewrite ^.+?(/wp-.*) $1 last;

rewrite ^.+?(/.*.php)$ $1 last;

rewrite ^ /index.php last;

}

将上述代码插入 /usr/local/nginx/conf/nginx.conf 的 server {…} 中,或者你有其他的方式可以加进去

重启 nginx(/etc/init.d/nginx restart) 即可生效。

如果空间用的是Linux+Apache环境然后支持.htaccess文件写入,这样只要在WP后台设置就可以实现伪静态。如果.htaccess文件无法自动写入需要手动配置.htaccess文件。

代码如下 复制代码

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

如果你用的是Windows+IIS系统,伪静态方法是配置web.config文件,这种服务器环境下WordPress伪静态的方法适用于支持aspx的系统。

代码如下 复制代码

<?xml version=1.0″ encoding=UTF-8″?>

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name=wordpress patternSyntax=Wildcard>

<match url=*/>

<conditions>

<add input={REQUEST_FILENAME} matchType=IsFile negate=true/>

<add input={REQUEST_FILENAME} matchType=IsDirectory negate=true/>

</conditions>

<action type=Rewrite url=index.php/>

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>