LNMP环境是目前我们国内站长使用的Linux VPS配置环境中使用较多的。作为新手我们很可能会依葫芦画瓢的去安装VPS。我们是否有发现环境中我们较为常用的WordPress伪静态不生效,内页出现404错误页面。这个问题很好解决,因为我们lnmp采用的是nginx,而不是apache,所以不如apache直接丢htaccess文件到网站根目录就可以生效伪静态。

首先,默认安装的lnmp环境中已经有伪静态文件WordPress.conf文件在/usr/local/nginx/conf/WordPress.conf中,我们可以核对一下里面的编译代码是不是为:

1
2
3
4
5
6
7
8
9
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;
}

如果不是,我们需要修改成上面的代码文件用来rewrite跳转伪静态。

其次,我们需要在属于我们网站的配置文件:

/usr/local/nginx/conf/vhost/sobaigu.com.conf(自己添加域名自动命名)

我们会看到类似下面的代码,看到红色部分是我添加进去的,你就添加进去就可以:

server {

listen 80;

server_name sobaigu.com;

index index.html index.php;

include WordPress.conf;

最后,我们用ssh登录VPS,然后用下面的命令重启lnmp

/root/lnmp restart

执行上面三步骤之后,我们是不是已经解决了伪静态问题,其他常用的CMS也是一样的,在默认的conf下基本都包含我们所需要的CMS伪静态编译脚本。最后顺带提一下,有朋友需要用到 301跳转的,比如只用到WWW域名作为主域名,可以参考设置301重定向的方法解决。

上文转自: http://www.laozuo.org/490.html | 老左博客

如果是Apache,那么通过.htaccess文件设置WordPress伪静态.

apache设置WordPress伪静态我们可以在网站的更目录下建立.htaccess文件来实现,在.htaccess添加如下代码(无需重启服务器):

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]