WordPress三个环境伪静态设置方法
WordPress因为其强大的第三方插件,可以让零基础的朋友搭建自己的网站。
使用WordPress建站的朋友,建议设置固定链接来实现伪静态地址访问,这样使整个站点的URL地址更为简单美观。也便于搜索引擎优化
在设置固定链接后,可能会出现404错误找不到页面提示,原因在于主机不支持WordPress伪静态规则。
解决办法很简单,只需在主机添加WordPress伪静态规则即可。当然不同的环境下,添加的方法是不一样的。
我们常用的环境一般是Nginx/Apache/IIS三种,下面就详细介绍Nginx/Apache/IIS环境下如何配置WordPress伪静态规则。
一、Nginx环境下添加WordPress伪静态规则:
Nginx环境下添加WordPress伪静态规则只需在站点“www.xxx.com.com”文件中的server { } 中添加下面代码即可。
location / {
index index.html index.php;
if (-f $request_filename/index.html){
rewrite (.*) /index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) /index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
二、Apache环境下添加WordPress伪静态规则:
Apache环境下方法比较简单,一般虚拟主机使用的就是此环境。我们只需在网站根目录下的.htaccess文件中添加下面代码即可。
如果站点根目录没有此文件,那么就自己新建一个记事本,把下面内容复制到记事本,然后另存为.htaccess文件再上传到站点根目录即可。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
三、IIS环境下添加WordPress伪静态规则
如果习惯使用Windows系统的朋友遇到确实伪静态规则的情况,可以使用下的规则脚本。
自己新建一个记事本,把下面内容复制到记事本,保存为web.config,然后放到网站根目录下,且需要检查服务器是否安装IIS URL Rewrite模块,如果没有则需要去安装。
<?xml version="1.0" encoding="UTF-8"?><configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="category">
<match url="category/?(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="/index.php?category_name={R:1}" appendQueryString="false" logRewrittenUrl="false" />
</rule>
<rule name="tags">
<match url="tag/?(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="index.php?tag={R:1}" />
</rule>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:0}" />
</rule>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<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>
0条评论