大家都知道伪静态可以使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>