最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Wordpress中伪静态中文标题404错误问题
时间:2022-06-25 18:58:42 编辑:袖梨 来源:一聚教程网
如果服务器支持伪静态的话,就直接在服务器设置不用配置问题和代码
2.postname是中文的时候,会报错404找不到页面。这个时候不是说文章地址不对。
是wp没法给你解析,这时候,如果你重新编辑一下url就可以找到这个文章了。
这地方,就需要一个插件:
WordPress 中文Url自动转为英文Url的插件: WP Slug Translate 。
直接搜索,在线安装就可以。选择配置成中文翻译成英文。
注意:使用该插件后,新发布的文章都会自动翻译成英文url,但是已存在的不会翻译。
你可以通过编辑或者全选一起更新一下就行了。
另一种解决办法(通用方法)
具体的操作就是打开wordpress目录下的wp-includes文件夹,然后修改classes.php这个文件的两句代码:
首先将:
代码如下 | 复制代码 |
$pathinfo = $_SERVER['PATH_INFO']; 上面这句代码替换成下面的这句代码: $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], “UTF-8″, “GBK”); |
然后再将:
代码如下 | 复制代码 |
$req_uri = $_SERVER['REQUEST_URI']; |
上面这句代码替换成下面的这句代码
代码如下 | 复制代码 |
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], “UTF-8″, “GBK”); |
这种直接修改文件的有一定的风险,为了避免修改失误对网站带来破坏,最好事先备份classes.php这个文件,或者我们直接下载wordpress安装包,修改完之后再上传到服务器上
下面以西部数码主机为例:(apache)
进入控制面板,点击 ISAPI 筛选器--点击开启自定义URL静态化支持,这个时候通过ftp软件进入网站目录--再打开/others/discuz/httpd.conf文件
在httpd.conf里面加入以下规则。
代码如下 | 复制代码 |
# Protect httpd.ini and httpd.parse.errors files # from accessing through HTTP # Rules to ensure that normal content gets through RewriteRule /sitemap.xml /sitemap.xml [L] RewriteRule /favicon.ico /favicon.ico [L] # For file-based wordpress content (i.e. theme), admin, etc. RewriteRule /wp-(.*) /wp-$1 [L] # For normal wordpress content, via index.php RewriteRule ^/$ /index.php [L] RewriteRule /(.*) /index.php/$1 [L] |
有些主机商自定义设置isapi筛选器需要自己上传Rewrite的dll文件(下载见最下面),上传搞定之后,可以将以上代码用记事本保存下来,注意要在文件里面,补充以下内容在以上规则前面
代码如下 | 复制代码 |
[ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 |
再把文件后改为httpd.ini然后上传到网站根目录即可。
2.不支持urlwrite
这种情况下可以通过设置404页面的方法实现wordpress在win主机下的伪静态。
新建一个记事本,在里面写入下面代码保存,重新命名为404.php。上传到程序根目录。
代码:
代码如下 | 复制代码 |
$qs = $_SERVER['QUERY_STRING']; $_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ':80')+3); $_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI']; include('index.php'); ?> |
进入网站后台管理开启动态404页。
第二:wordpress中文标签问题
有的时候以上设置会导致中文标签和一些相关地方的tags等无法找到,解决办法是查找wp-includes/classes-wp.php(wp3.2.1其他版本自己找一下)中如下代码:
代码如下 | 复制代码 |
if ( isset($_SERVER['PATH_INFO']) ) if ( isset($_SERVER['PATH_INFO']) ) |
最后提供两个文件的下载第一个如果是西数主机在开启isapi自定义之后可以把这个文件直接上传代替以前那个。第二个文件是放到程序根目录的时候的文件。
iis7下解决方法有点不一样
将下列代码加入到web目录下的web.config文件的之后即可。
代码如下 | 复制代码 |
相关文章
- 人们熟悉的寄居蟹属于以下哪种分类 神奇海洋11月21日答案 11-21
- 第五人格11.22共研服有什么更新 11月22日共研服更新内容介绍 11-21
- 原神恰斯卡怎么培养 11-21
- 无期迷途四星装束是谁 11-21
- 王者荣耀帝丹高中校服怎么获得 11-21
- 光遇姆明季后续版本怎么玩 11-21