IIS下配置WordPress永久链接支持中文的方法

WordPress版本已更新至5.9,此方法仍有效。如何你是windows服务器,那么使用IIS下的WP会有中文URL显示为404的现象,下面根据网络中提供的方法对自己运行的WP进行修改。

在撰写这篇博客的时候,我所使用的WordPress版本为:5.8.2zh-CN。

当我们使用WordPress撰写中文文章的时候,如果说在固定链接中选择加入一个%postname%项,生成的url就会因为含有中文而无法被支持,网站显示404。

解决方法很简单:

进入wp-includes目录,打开该目录下的class-wp.php文件。(备份先!)
找到 $pathinfo = isset( $_SERVER[‘PATH_INFO’] ) ? $_SERVER[‘PATH_INFO’] : ”; (第167行)其实可以Ctrl+F查单词SERVER
将第二个$_SERVER[‘PATH_INFO’]替换为mb_convert_encoding($_SERVER[‘PATH_INFO’], ‘UTF-8’, ‘GBK’)(注意分号)
再找到 list( $req_uri ) = explode( ‘?’, $_SERVER[‘REQUEST_URI’] );(第171行) 将$_SERVER[‘REQUEST_URI’]替换为mb_convert_encoding($_SERVER[‘REQUEST_URI’], ‘UTF-8’, ‘GBK’)
保存,WordPress URL里就可以支持中文字符串了!

随着版本变化,情况可能又会改变,我更改后的截图放在这里供参考。

(修改后的代码)

							
							
								$pathinfo         = isset( $_SERVER['PATH_INFO'] ) ? mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK') : '';
			list( $pathinfo ) = explode( '?', $pathinfo );
			$pathinfo         = str_replace( '%', '%25', $pathinfo );

			list( $req_uri ) = explode( '?', mb_convert_encoding($_SERVER['REQUEST_URI'], 'UTF-8', 'GBK') );				
			
0

评论0

请先
新22S1 卫生设备工程-新疆维吾尔自治区工程建设标准设计-2022 系列给排水标准设计图集
新22S1 卫生设备工程-新疆维吾尔自治区工程建设标准设计-2022 系列给排水标准设计图集
1分钟前 有人购买 去瞅瞅看
没有账号?注册  忘记密码?

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录网站