大多wordpress网站都做了伪静态的处理,不但是url美观的需要,从seo角度看,伪静态url也有正向的作用。伪静态代码添加在设置文件或者指定位置。
Nginx和Apache伪静态的书写有些差异,Nignx系统默认的代码为: location /
{
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
不过,如果你对Nginx伪静态规则熟悉,或者有其它的定义需求,也可以增加if函数来判断,例如: location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
Nginx取消了Apache开启伪静态支持的.htaccess文件。Apache中可以在根目录.htaccess.txt文件中,添加以下默认的伪静态规则:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
两者有些区别,原理类似。