关注网络资源
用心与您分享

Nginx/Apache/IIS系统环境下WordPress伪静态规则设置

提示:如果官网是英文页面,建议使用谷歌浏览器能同步翻译页面。点击下载【谷歌浏览器最新绿色便携版】
文章目录
本文最后更新于2017年6月16日,已超过 1 年没有更新,涉及的内容可能已经失效!

WordPress是目前使用最为广泛的博客程序,简单直观的操作,强大的第三方插件,可以让任何零基础的朋友搭建自己的个人站点。使用WordPress建站的朋友,应该都比较习惯设置固定链接来实现伪静态地址访问,这样使整个站点的URL地址更为简单美观。但是经常会在设置固定链接后,访问会出现直接404错误找不到页面提示,那就是你的主机不支持WordPress伪静态规则。

WordPress遇到设置固定链接自定义结构时出现404错误,解决办法很简单,只需在主机添加WordPress伪静态规则即可。当然不同的环境下,添加的方法是不一样的。我们常用的环境一般是Nginx/Apache/IIS三种,下面就详细介绍Nginx/Apache/IIS环境下如何配置WordPress伪静态规则。

一、Nginx环境下添加WordPress伪静态规则:

Nginx环境下添加WordPress伪静态规则只需在站点“www.xxx.com.conf”文件中的server   { } 中添加下面代码即可。

location / {
index index.html index.php;
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;
}
}

二、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系统中搭建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>
未经允许不得转载:蜗牛789 » Nginx/Apache/IIS系统环境下WordPress伪静态规则设置
支付宝扫码打赏 微信扫码打赏

如果文章对您有帮助,欢迎点击上方按钮打赏蜗牛

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址