小编刚刚更换了服务器,由原来的CentOS换成了Windows,但是小编发现自己所有的文章页面都变成了404,这是怎么回事呢,百度了好多办法,最终发现windows服务器不支持伪静态,然后就找办法解决办法,但是试了n种办法之后,最终解决了这个问题。现在小编分享给大家。我的服务器版本是Windows Server 2012 R2 (64位)。
首先安装一个 URL Rewrite
安装之后重启系统。
然后在你的网站的管理中就会出现 URL Rewrite
1.png

打开之后,点击右侧的导入。

规则

2.png

再将以下代码粘贴在重写规则里面,一定记得更换为自己的域名哦

# 将 RewriteEngine 模式打开
RewriteEngine On

# 修改以下语句中的 domain 为你的论坛地址
RewriteCond %{HTTP_HOST} !^bbs.sunxiaoning.com$ [NC]
RewriteRule ^(.*)$ http://bbs.sunxiaoning.com/$1 [L,R=301]

# 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
RewriteBase/

# Rewrite 系统规则请勿修改
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1
RewriteRule ^article-([0-9]+)\.html$ portal.php?mod=article&articleid=$1
RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2
RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2
RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2
RewriteRule ^([a-z]+)-(.+)\.html$ $1.php?rewrite=$2

或者建立一个.htaccess文件,然后导入。

再打开Typecho 设置里面的是否使用地址重写,选择启用,会提示你,重写失败,不过不要紧,打上对号,选择任然启用就可以了。

Last modification:November 26, 2018
If you think my article is useful to you, please feel free to appreciate